GameMode Item Preparations
Implemented GameMode Mega Stones
This commit is contained in:
parent
ba98f40394
commit
d13b5eb8d3
|
@ -496,10 +496,20 @@
|
|||
End Select
|
||||
Next
|
||||
Dim p As Pokemon = BattleScreen.OppPokemon
|
||||
If p.Item IsNot Nothing AndAlso p.Item.IsMegaStone = True Then
|
||||
Dim megaStone = CType(p.Item, Items.MegaStone)
|
||||
If p.Number = megaStone.MegaPokemonNumber Then
|
||||
BattleScreen.IsMegaEvolvingOpp = True
|
||||
If p.Item IsNot Nothing Then
|
||||
If p.Item.IsGameModeItem = True Then
|
||||
If p.Item.gmIsMegaStone = True Then
|
||||
If p.Number = CType(p.Item, GameModeItem).gmMegaPokemonNumber Then
|
||||
BattleScreen.IsMegaEvolvingOpp = True
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
If p.Item.IsMegaStone = True Then
|
||||
Dim megaStone = CType(p.Item, Items.MegaStone)
|
||||
If p.Number = megaStone.MegaPokemonNumber Then
|
||||
BattleScreen.IsMegaEvolvingOpp = True
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
@ -2474,9 +2484,11 @@
|
|||
canSteal = False
|
||||
End If
|
||||
If canSteal Then
|
||||
Dim ItemID As Integer = p.Item.ID
|
||||
|
||||
p.OriginalItem = Item.GetItemByID(p.Item.ID)
|
||||
Dim ItemID As String = p.Item.ID.ToString
|
||||
If p.Item.IsGameModeItem = True Then
|
||||
ItemID = p.Item.gmID
|
||||
End If
|
||||
p.OriginalItem = Item.GetItemByID(ItemID)
|
||||
p.OriginalItem.AdditionalData = p.Item.AdditionalData
|
||||
|
||||
If BattleScreen.Battle.RemoveHeldItem(own, Not own, BattleScreen, op.GetDisplayName() & " stole an item from " & p.GetDisplayName() & " due to " & op.Ability.Name & "!", op.Ability.Name.ToLower()) Then
|
||||
|
@ -2520,9 +2532,14 @@
|
|||
canSteal = False
|
||||
End If
|
||||
If canSteal Then
|
||||
Dim ItemID As Integer = op.Item.ID
|
||||
Dim ItemID As String
|
||||
If op.Item.IsGameModeItem = True Then
|
||||
ItemID = op.Item.gmID
|
||||
Else
|
||||
ItemID = op.Item.ID.ToString
|
||||
End If
|
||||
|
||||
op.OriginalItem = Item.GetItemByID(op.Item.ID)
|
||||
op.OriginalItem = Item.GetItemByID(ItemID)
|
||||
op.OriginalItem.AdditionalData = op.Item.AdditionalData
|
||||
|
||||
If BattleScreen.Battle.RemoveHeldItem(Not own, own, BattleScreen, p.GetDisplayName() & " stole an item from " & op.GetDisplayName() & " due to " & p.Ability.Name & "!", p.Ability.Name.ToLower()) Then
|
||||
|
@ -2651,7 +2668,7 @@
|
|||
If Core.Random.Next(0, 2) = 0 AndAlso moveUsed.MakesContact = True AndAlso op.Item Is Nothing AndAlso op.HP > 0 Then
|
||||
ChangeCameraAngle(2, own, BattleScreen)
|
||||
BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & "'s Sticky Barb was passed over to " & op.GetDisplayName() & "."))
|
||||
op.Item = Item.GetItemByID(p.Item.ID)
|
||||
op.Item = Item.GetItemByID(p.Item.ID.ToString)
|
||||
p.Item = Nothing
|
||||
End If 'CODELINE OF EVIL
|
||||
End If
|
||||
|
@ -4485,7 +4502,7 @@
|
|||
If Not p.Item Is Nothing Then
|
||||
If p.Item.OriginalName.ToLower() = "enigma" And BattleScreen.FieldEffects.CanUseItem(own) = True And BattleScreen.FieldEffects.CanUseOwnItem(own, BattleScreen) = True Then
|
||||
If RemoveHeldItem(own, own, BattleScreen, "", "berry:enigma") = True Then
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID), BattleScreen, message, cause)
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID.ToString), BattleScreen, message, cause)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
@ -4496,7 +4513,7 @@
|
|||
If Not p.Item Is Nothing Then
|
||||
If p.Item.OriginalName.ToLower() = "oran" And BattleScreen.FieldEffects.CanUseItem(own) = True And BattleScreen.FieldEffects.CanUseOwnItem(own, BattleScreen) = True Then
|
||||
If RemoveHeldItem(own, own, BattleScreen, "", "berry:oran") = True Then
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID), BattleScreen, message, cause)
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID.ToString), BattleScreen, message, cause)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
@ -4507,7 +4524,7 @@
|
|||
Select Case p.Item.OriginalName.ToLower()
|
||||
Case "sitrus"
|
||||
If RemoveHeldItem(own, own, BattleScreen, "", "berry:sitrus") = True Then
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID), BattleScreen, message, cause)
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID.ToString), BattleScreen, message, cause)
|
||||
End If
|
||||
End Select
|
||||
End If
|
||||
|
@ -4519,59 +4536,59 @@
|
|||
Select Case p.Item.OriginalName.ToLower()
|
||||
Case "figy"
|
||||
If RemoveHeldItem(own, own, BattleScreen, "", "berry:figy") = True Then
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID), BattleScreen, message, cause)
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID.ToString), BattleScreen, message, cause)
|
||||
End If
|
||||
Case "wiki"
|
||||
If RemoveHeldItem(own, own, BattleScreen, "", "berry:wiki") = True Then
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID), BattleScreen, message, cause)
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID.ToString), BattleScreen, message, cause)
|
||||
End If
|
||||
Case "mago"
|
||||
If RemoveHeldItem(own, own, BattleScreen, "", "berry:mago") = True Then
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID), BattleScreen, message, cause)
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID.ToString), BattleScreen, message, cause)
|
||||
End If
|
||||
Case "aguav"
|
||||
If RemoveHeldItem(own, own, BattleScreen, "", "berry:aguav") = True Then
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID), BattleScreen, message, cause)
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID.ToString), BattleScreen, message, cause)
|
||||
End If
|
||||
Case "iapapa"
|
||||
If RemoveHeldItem(own, own, BattleScreen, "", "berry:iapapa") = True Then
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID), BattleScreen, message, cause)
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID.ToString), BattleScreen, message, cause)
|
||||
End If
|
||||
Case "liechi"
|
||||
If RemoveHeldItem(own, own, BattleScreen, "", "berry:liechi") = True Then
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID), BattleScreen, message, cause)
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID.ToString), BattleScreen, message, cause)
|
||||
End If
|
||||
Case "ganlon"
|
||||
If RemoveHeldItem(own, own, BattleScreen, "", "berry:ganlon") = True Then
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID), BattleScreen, message, cause)
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID.ToString), BattleScreen, message, cause)
|
||||
End If
|
||||
Case "salac"
|
||||
If RemoveHeldItem(own, own, BattleScreen, "", "berry:salac") = True Then
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID), BattleScreen, message, cause)
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID.ToString), BattleScreen, message, cause)
|
||||
End If
|
||||
Case "petaya"
|
||||
If RemoveHeldItem(own, own, BattleScreen, "", "berry:petaya") = True Then
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID), BattleScreen, message, cause)
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID.ToString), BattleScreen, message, cause)
|
||||
End If
|
||||
Case "apicot"
|
||||
If RemoveHeldItem(own, own, BattleScreen, "", "berry:apicot") = True Then
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID), BattleScreen, message, cause)
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID.ToString), BattleScreen, message, cause)
|
||||
End If
|
||||
Case "lansat"
|
||||
If RemoveHeldItem(own, own, BattleScreen, "", "berry:lansat") = True Then
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID), BattleScreen, message, cause)
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID.ToString), BattleScreen, message, cause)
|
||||
End If
|
||||
Case "starf"
|
||||
If RemoveHeldItem(own, own, BattleScreen, "", "berry:starf") = True Then
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID), BattleScreen, message, cause)
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID.ToString), BattleScreen, message, cause)
|
||||
End If
|
||||
Case "micle"
|
||||
If RemoveHeldItem(own, own, BattleScreen, "", "berry:micle") = True Then
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID), BattleScreen, message, cause)
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID.ToString), BattleScreen, message, cause)
|
||||
End If
|
||||
Case "custap"
|
||||
If RemoveHeldItem(own, own, BattleScreen, "", "berry:custap") = True Then
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID), BattleScreen, message, cause)
|
||||
UseBerry(own, from, Item.GetItemByID(ItemID.ToString), BattleScreen, message, cause)
|
||||
End If
|
||||
End Select
|
||||
End If
|
||||
|
@ -4710,7 +4727,7 @@
|
|||
|
||||
If TestFor = False Then
|
||||
Dim ItemID As Integer = p.Item.ID
|
||||
Dim lostItem As Item = Item.GetItemByID(ItemID)
|
||||
Dim lostItem As Item = Item.GetItemByID(ItemID.ToString)
|
||||
|
||||
If from = own Then
|
||||
If own = True Then
|
||||
|
|
|
@ -631,7 +631,7 @@
|
|||
TempBattleScreen = BattleScreen
|
||||
|
||||
Player.Temp.PokemonScreenIndex = BattleScreen.OwnPokemonIndex
|
||||
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5), AddressOf ShowPokemonMenu, "Choose Pokémon", False) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = False}
|
||||
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5.ToString), AddressOf ShowPokemonMenu, "Choose Pokémon", False) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = False}
|
||||
AddHandler selScreen.SelectedObject, AddressOf ShowPokemonMenuHandler
|
||||
|
||||
Core.SetScreen(selScreen)
|
||||
|
@ -651,8 +651,8 @@
|
|||
_mainMenuItemList.Clear()
|
||||
Select Case BattleScreen.BattleMode
|
||||
Case BattleSystem.BattleScreen.BattleModes.Safari
|
||||
Dim safariBallText As String = "Safari Ball x" & Core.Player.Inventory.GetItemAmount(181).ToString()
|
||||
If Core.Player.Inventory.GetItemAmount(181) = 0 Then
|
||||
Dim safariBallText As String = "Safari Ball x" & Core.Player.Inventory.GetItemAmount(181.ToString).ToString()
|
||||
If Core.Player.Inventory.GetItemAmount(181.ToString) = 0 Then
|
||||
safariBallText = "No Safari Balls."
|
||||
End If
|
||||
_mainMenuItemList.Add(New MainMenuItem(4, safariBallText, 0, AddressOf MainMenuUseSafariBall))
|
||||
|
@ -664,8 +664,8 @@
|
|||
Case BattleSystem.BattleScreen.BattleModes.BugContest
|
||||
_mainMenuItemList.Add(New MainMenuItem(0, "Battle", 0, AddressOf MainMenuOpenBattleMenu))
|
||||
|
||||
Dim sportBallText As String = "Sport Ball x" & Core.Player.Inventory.GetItemAmount(177).ToString()
|
||||
If Core.Player.Inventory.GetItemAmount(177) = 0 Then
|
||||
Dim sportBallText As String = "Sport Ball x" & Core.Player.Inventory.GetItemAmount(177.ToString).ToString()
|
||||
If Core.Player.Inventory.GetItemAmount(177.ToString) = 0 Then
|
||||
sportBallText = "No Sport Balls."
|
||||
End If
|
||||
_mainMenuItemList.Add(New MainMenuItem(4, sportBallText, 1, AddressOf MainMenuUseSportBall))
|
||||
|
@ -715,7 +715,7 @@
|
|||
Private Sub MainMenuAddMegaEvolution(ByVal BattleScreen As BattleScreen, ByVal Index As Integer)
|
||||
|
||||
'Checks if the player has the Mega Bracelet.
|
||||
If Not (Core.Player.Inventory.GetItemAmount(576) > 0) Then
|
||||
If Not (Core.Player.Inventory.GetItemAmount(576.ToString) > 0) Then
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
|
@ -738,12 +738,19 @@
|
|||
'Next
|
||||
Dim PokeIndex As Integer = BattleScreen.OwnPokemonIndex
|
||||
If BattleScreen.FieldEffects.OwnMegaEvolved = False Then
|
||||
If Not Core.Player.Pokemons(PokeIndex).Item Is Nothing Then
|
||||
If Core.Player.Pokemons(PokeIndex).Item.IsMegaStone = True Then
|
||||
Dim megaStone = CType(Core.Player.Pokemons(PokeIndex).Item, Items.MegaStone)
|
||||
|
||||
If megaStone.MegaPokemonNumber = Core.Player.Pokemons(PokeIndex).Number Then
|
||||
_mainMenuItemList.Add(New MainMenuItem(5, "Mega Evolve!", Index, AddressOf MainMenuMegaEvolve))
|
||||
If Core.Player.Pokemons(PokeIndex).Item IsNot Nothing Then
|
||||
If Core.Player.Pokemons(PokeIndex).Item.IsGameModeItem = True Then
|
||||
If Core.Player.Pokemons(PokeIndex).Item.gmIsMegaStone = True Then
|
||||
If Core.Player.Pokemons(PokeIndex).Number = CType(Core.Player.Pokemons(PokeIndex).Item, GameModeItem).gmMegaPokemonNumber Then
|
||||
_mainMenuItemList.Add(New MainMenuItem(5, "Mega Evolve!", Index, AddressOf MainMenuMegaEvolve))
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
If Core.Player.Pokemons(PokeIndex).Item.IsMegaStone = True Then
|
||||
Dim megaStone = CType(Core.Player.Pokemons(PokeIndex).Item, Items.MegaStone)
|
||||
If megaStone.MegaPokemonNumber = Core.Player.Pokemons(PokeIndex).Number Then
|
||||
_mainMenuItemList.Add(New MainMenuItem(5, "Mega Evolve!", Index, AddressOf MainMenuMegaEvolve))
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
@ -767,7 +774,7 @@
|
|||
TempBattleScreen = BattleScreen
|
||||
|
||||
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}
|
||||
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5.ToString), AddressOf ShowPokemonMenu, "Choose Pokémon", True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
|
||||
AddHandler selScreen.SelectedObject, AddressOf ShowPokemonMenuHandler
|
||||
|
||||
Core.SetScreen(selScreen)
|
||||
|
@ -805,15 +812,15 @@
|
|||
End Sub
|
||||
|
||||
Private Sub MainMenuUseSafariBall(ByVal BattleScreen As BattleScreen)
|
||||
If Core.Player.Inventory.GetItemAmount(181) > 0 Then
|
||||
Core.Player.Inventory.RemoveItem(181, 1)
|
||||
If Core.Player.Inventory.GetItemAmount(181.ToString) > 0 Then
|
||||
Core.Player.Inventory.RemoveItem(181.ToString, 1)
|
||||
BattleScreen.BattleQuery.Clear()
|
||||
BattleScreen.BattleQuery.Add(BattleScreen.FocusBattle())
|
||||
BattleScreen.BattleQuery.Insert(0, New ToggleMenuQueryObject(True))
|
||||
Core.SetScreen(New BattleCatchScreen(BattleScreen, Item.GetItemByID(181)))
|
||||
Core.SetScreen(New BattleCatchScreen(BattleScreen, Item.GetItemByID(181.ToString)))
|
||||
|
||||
Dim safariBallText As String = "Safari Ball x" & Core.Player.Inventory.GetItemAmount(181).ToString()
|
||||
If Core.Player.Inventory.GetItemAmount(181) = 0 Then
|
||||
Dim safariBallText As String = "Safari Ball x" & Core.Player.Inventory.GetItemAmount(181.ToString).ToString()
|
||||
If Core.Player.Inventory.GetItemAmount(181.ToString) = 0 Then
|
||||
safariBallText = "No Safari Balls."
|
||||
End If
|
||||
_mainMenuItemList(0).Text = safariBallText
|
||||
|
@ -821,15 +828,15 @@
|
|||
End Sub
|
||||
|
||||
Private Sub MainMenuUseSportBall(ByVal BattleScreen As BattleScreen)
|
||||
If Core.Player.Inventory.GetItemAmount(177) > 0 Then
|
||||
Core.Player.Inventory.RemoveItem(177, 1)
|
||||
If Core.Player.Inventory.GetItemAmount(177.ToString) > 0 Then
|
||||
Core.Player.Inventory.RemoveItem(177.ToString, 1)
|
||||
BattleScreen.BattleQuery.Clear()
|
||||
BattleScreen.BattleQuery.Add(BattleScreen.FocusBattle())
|
||||
BattleScreen.BattleQuery.Insert(0, New ToggleMenuQueryObject(True))
|
||||
Core.SetScreen(New BattleCatchScreen(BattleScreen, Item.GetItemByID(177)))
|
||||
Core.SetScreen(New BattleCatchScreen(BattleScreen, Item.GetItemByID(177.ToString)))
|
||||
|
||||
Dim sportBallText As String = "Sport Ball x" & Core.Player.Inventory.GetItemAmount(177).ToString()
|
||||
If Core.Player.Inventory.GetItemAmount(177) = 0 Then
|
||||
Dim sportBallText As String = "Sport Ball x" & Core.Player.Inventory.GetItemAmount(177.ToString).ToString()
|
||||
If Core.Player.Inventory.GetItemAmount(177.ToString) = 0 Then
|
||||
sportBallText = "No Sport Balls."
|
||||
End If
|
||||
_mainMenuItemList(0).Text = sportBallText
|
||||
|
@ -1056,17 +1063,17 @@
|
|||
End Sub
|
||||
|
||||
Private Shared Sub SelectedItem(ByVal itemID As Integer)
|
||||
Dim Item As Item = Item.GetItemByID(itemID)
|
||||
Dim Item As Item = Item.GetItemByID(itemID.ToString)
|
||||
|
||||
If Item.CanBeUsedInBattle = True Then
|
||||
If Item.IsBall = True Then
|
||||
Core.Player.Inventory.RemoveItem(itemID, 1)
|
||||
Core.Player.Inventory.RemoveItem(itemID.ToString, 1)
|
||||
If TempBattleScreen.IsTrainerBattle = False Then
|
||||
If BattleScreen.CanCatch = True Or CBool(GameModeManager.GetGameRuleValue("OnlyCaptureFirst", "0")) = True And Core.Player.PokeFiles.Contains(BattleScreen.TempPokeFile) = True Then
|
||||
TempBattleScreen.BattleQuery.Clear()
|
||||
TempBattleScreen.BattleQuery.Add(TempBattleScreen.FocusBattle())
|
||||
TempBattleScreen.BattleQuery.Insert(0, New ToggleMenuQueryObject(True))
|
||||
Core.SetScreen(New BattleCatchScreen(TempBattleScreen, Item.GetItemByID(itemID)))
|
||||
Core.SetScreen(New BattleCatchScreen(TempBattleScreen, Item.GetItemByID(itemID.ToString)))
|
||||
PlayerStatistics.Track("[4]Poké Balls used", 1)
|
||||
Else
|
||||
TempBattleScreen.BattleQuery.Clear()
|
||||
|
@ -1105,7 +1112,7 @@
|
|||
Private Shared Sub UseItem(ByVal PokeIndex As Integer)
|
||||
Dim Pokemon As Pokemon = Core.Player.Pokemons(PokeIndex)
|
||||
|
||||
Dim Item As Item = Item.GetItemByID(TempItemID)
|
||||
Dim Item As Item = Item.GetItemByID(TempItemID.ToString)
|
||||
|
||||
If Item.UseOnPokemon(PokeIndex) = True Then
|
||||
TempBattleScreen.BattleQuery.Clear()
|
||||
|
|
|
@ -1250,7 +1250,7 @@ nextIndex:
|
|||
End If
|
||||
If IsRemoteBattle = True Then
|
||||
If p.OriginalItem IsNot Nothing Then
|
||||
p.Item = P3D.Item.GetItemByID(p.OriginalItem.ID)
|
||||
p.Item = P3D.Item.GetItemByID(p.OriginalItem.ID.ToString)
|
||||
p.Item.AdditionalData = p.OriginalItem.AdditionalData
|
||||
Screen.TextBox.Show(Core.Player.Name & " received~" & p.OriginalItem.Name & "and gave it back to~" & p.GetDisplayName)
|
||||
p.OriginalItem = Nothing
|
||||
|
@ -1258,12 +1258,12 @@ nextIndex:
|
|||
Else
|
||||
If Not p.OriginalItem Is Nothing Then
|
||||
If p.Item Is Nothing Then
|
||||
p.Item = P3D.Item.GetItemByID(p.OriginalItem.ID)
|
||||
p.Item = P3D.Item.GetItemByID(p.OriginalItem.ID.ToString)
|
||||
p.Item.AdditionalData = p.OriginalItem.AdditionalData
|
||||
Screen.TextBox.Show(Core.Player.Name & " found~" & p.OriginalItem.Name & "*and gave it back to~" & p.GetDisplayName)
|
||||
p.OriginalItem = Nothing
|
||||
Else
|
||||
Core.Player.Inventory.AddItem(p.OriginalItem.ID, 1)
|
||||
Core.Player.Inventory.AddItem(p.OriginalItem.ID.ToString, 1)
|
||||
SoundManager.PlaySound("item_found", True)
|
||||
Screen.TextBox.Show(Core.Player.Name & " found~" & p.OriginalItem.Name & "!*" & Core.Player.Inventory.GetMessageReceive(p.OriginalItem, 1))
|
||||
p.OriginalItem = Nothing
|
||||
|
@ -1303,7 +1303,7 @@ nextIndex:
|
|||
If Not p.Item Is Nothing Then
|
||||
If p.Item.IsBerry = True Then
|
||||
If Core.Random.Next(0, 3) = 0 Then
|
||||
p.Item = Item.GetItemByID(139)
|
||||
p.Item = Item.GetItemByID(139.ToString)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
@ -1313,19 +1313,19 @@ nextIndex:
|
|||
For Each p As Pokemon In Core.Player.Pokemons
|
||||
If IsRemoteBattle = True Then
|
||||
If p.OriginalItem IsNot Nothing Then
|
||||
p.Item = P3D.Item.GetItemByID(p.OriginalItem.ID)
|
||||
p.Item = P3D.Item.GetItemByID(p.OriginalItem.ID.ToString)
|
||||
p.Item.AdditionalData = p.OriginalItem.AdditionalData
|
||||
Screen.TextBox.Show(Core.Player.Name & " received~" & p.OriginalItem.Name & "and gave it back to~" & p.GetDisplayName)
|
||||
End If
|
||||
Else
|
||||
If Not p.OriginalItem Is Nothing Then
|
||||
If p.Item IsNot Nothing Then
|
||||
Core.Player.Inventory.AddItem(p.OriginalItem.ID, 1)
|
||||
Core.Player.Inventory.AddItem(p.OriginalItem.ID.ToString, 1)
|
||||
SoundManager.PlaySound("item_found", True)
|
||||
Screen.TextBox.Show(Core.Player.Name & " found~" & p.OriginalItem.Name & "!*" & Core.Player.Inventory.GetMessageReceive(p.OriginalItem, 1))
|
||||
p.OriginalItem = Nothing
|
||||
Else
|
||||
p.Item = P3D.Item.GetItemByID(p.OriginalItem.ID)
|
||||
p.Item = P3D.Item.GetItemByID(p.OriginalItem.ID.ToString)
|
||||
p.Item.AdditionalData = p.OriginalItem.AdditionalData
|
||||
Screen.TextBox.Show(Core.Player.Name & " found~" & p.OriginalItem.Name & "*and gave it back to~" & p.GetDisplayName)
|
||||
p.OriginalItem = Nothing
|
||||
|
|
|
@ -281,7 +281,7 @@
|
|||
'Special stuff
|
||||
Public RunTries As Integer = 0
|
||||
Public UsedPokemon As New List(Of Integer)
|
||||
Public StolenItemIDs As New List(Of Integer)
|
||||
Public StolenItemIDs As New List(Of String)
|
||||
Public DefeatedTrainerPokemon As Boolean = False
|
||||
Public RoamingFled As Boolean = False
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@
|
|||
If rec.Contains(MouseHandler.MousePosition) = False Then
|
||||
If Controls.Accept(True, True, True) = True Then
|
||||
If _chooseIndex = 0 Then
|
||||
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5), AddressOf ChoosePokemon, Localization.GetString("battle_main_choose_pokemon"), False) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
|
||||
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5.ToString), AddressOf ChoosePokemon, Localization.GetString("battle_main_choose_pokemon"), False) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
|
||||
AddHandler selScreen.SelectedObject, AddressOf ChoosePokemonHandler
|
||||
SoundManager.PlaySound("select")
|
||||
Core.SetScreen(selScreen)
|
||||
|
@ -109,7 +109,7 @@
|
|||
Else
|
||||
If Controls.Accept(False, True, True) = True Then
|
||||
If _chooseIndex = 0 Then
|
||||
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5), AddressOf ChoosePokemon, Localization.GetString("battle_main_choose_pokemon"), False) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
|
||||
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5.ToString), AddressOf ChoosePokemon, Localization.GetString("battle_main_choose_pokemon"), False) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
|
||||
AddHandler selScreen.SelectedObject, AddressOf ChoosePokemonHandler
|
||||
SoundManager.PlaySound("select")
|
||||
Core.SetScreen(selScreen)
|
||||
|
@ -129,7 +129,7 @@
|
|||
If Controls.Accept(True, False, False) Then
|
||||
If New Rectangle(Core.windowSize.Width - 213, Core.windowSize.Height - 438, 80, 50).Contains(MouseHandler.MousePosition) Then
|
||||
_chooseIndex = 0
|
||||
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5), AddressOf ChoosePokemon, Localization.GetString("battle_main_choose_pokemon"), False) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
|
||||
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5.ToString), AddressOf ChoosePokemon, Localization.GetString("battle_main_choose_pokemon"), False) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
|
||||
AddHandler selScreen.SelectedObject, AddressOf ChoosePokemonHandler
|
||||
SoundManager.PlaySound("select")
|
||||
Core.SetScreen(selScreen)
|
||||
|
|
|
@ -179,7 +179,7 @@ Public Class Trainer
|
|||
If value <> "" Then
|
||||
Dim itemData() As String = ScriptCommander.Parse(value).ToString().Split(CChar(","))
|
||||
For Each ItemID As String In itemData
|
||||
Items.Add(Item.GetItemByID(CInt(ItemID)))
|
||||
Items.Add(Item.GetItemByID(CInt(ItemID).ToString))
|
||||
Next
|
||||
End If
|
||||
Case "gender"
|
||||
|
|
|
@ -145,8 +145,13 @@
|
|||
Public Overrides Sub ResultFunction(Result As Integer)
|
||||
If Result = 0 Then
|
||||
Dim Item As Item = GetItem()
|
||||
|
||||
Core.Player.Inventory.AddItem(Item.ID, 1)
|
||||
Dim ItemID As String
|
||||
If Item.IsGameModeItem Then
|
||||
ItemID = Item.gmID
|
||||
Else
|
||||
ItemID = Item.ID.ToString
|
||||
End If
|
||||
Core.Player.Inventory.AddItem(ItemID, 1)
|
||||
PlayerStatistics.Track("[85]Apricorns picked", 1)
|
||||
SoundManager.PlaySound("Receive_Item", True)
|
||||
Screen.TextBox.TextColor = TextBox.PlayerColor
|
||||
|
@ -193,7 +198,7 @@
|
|||
ItemID = 101
|
||||
End Select
|
||||
|
||||
Return Item.GetItemByID(ItemID)
|
||||
Return Item.GetItemByID(ItemID.ToString)
|
||||
End Function
|
||||
|
||||
End Class
|
|
@ -16,7 +16,7 @@
|
|||
Dim LastUpdateDate As Date
|
||||
|
||||
Public Overloads Sub Initialize(ByVal BerryIndex As Integer, ByVal BerriesYield As Integer, ByVal Watered As String, ByVal Time As String, ByVal FullGrown As Boolean)
|
||||
Me.Berry = CType(Item.GetItemByID(BerryIndex + 2000), Items.Berry)
|
||||
Me.Berry = CType(Item.GetItemByID(CStr(BerryIndex + 2000)), Items.Berry)
|
||||
Me.Berries = BerriesYield
|
||||
Me.PlantDate = Time
|
||||
Me.BerryIndex = BerryIndex
|
||||
|
@ -130,7 +130,7 @@
|
|||
Dim text As String = ""
|
||||
|
||||
Dim hasBottle As Boolean = False
|
||||
If Core.Player.Inventory.GetItemAmount(175) > 0 Then
|
||||
If Core.Player.Inventory.GetItemAmount(175.ToString) > 0 Then
|
||||
hasBottle = True
|
||||
End If
|
||||
|
||||
|
@ -180,7 +180,7 @@
|
|||
If Result = 0 Then
|
||||
Select Case Me.ResultIndex
|
||||
Case 0
|
||||
Core.Player.Inventory.AddItem(Me.Berry.ID, Me.Berries)
|
||||
Core.Player.Inventory.AddItem(Me.Berry.ID.ToString, Me.Berries)
|
||||
Dim Text As String = ""
|
||||
If Me.Berries = 1 Then
|
||||
Text = Core.Player.Name & " picked the~" & Berry.Name & " Berry.*" & Core.Player.Inventory.GetMessageReceive(Berry, Me.Berries)
|
||||
|
@ -235,7 +235,7 @@
|
|||
Dim cD As Date = Date.Now
|
||||
Dim DateData As String = cD.Year & "," & cD.Month & "," & cD.Day & "," & cD.TimeOfDay.Hours & "," & cD.TimeOfDay.Minutes & "," & cD.TimeOfDay.Seconds
|
||||
|
||||
Dim Berry As Items.Berry = CType(Item.GetItemByID(BerryIndex + 2000), Items.Berry)
|
||||
Dim Berry As Items.Berry = CType(Item.GetItemByID(CStr(BerryIndex + 2000)), Items.Berry)
|
||||
|
||||
Dim BerryAmount As Integer = GetBerryAmount(Berry, 0)
|
||||
|
||||
|
@ -257,7 +257,7 @@
|
|||
CType(newEnt, BerryPlant).Initialize(BerryIndex, 0, "", DateData, False)
|
||||
Screen.Level.Entities.Add(newEnt)
|
||||
|
||||
Core.Player.Inventory.RemoveItem(BerryIndex + 2000, 1)
|
||||
Core.Player.Inventory.RemoveItem(CStr(BerryIndex + 2000), 1)
|
||||
End Sub
|
||||
|
||||
Private Shared Function GetBerryAmount(ByVal Berry As Items.Berry, ByVal Watered As Integer) As Integer
|
||||
|
@ -312,7 +312,7 @@
|
|||
|
||||
Dim DateData As String = PlantDate
|
||||
|
||||
Dim Berry As Items.Berry = CType(Item.GetItemByID(BerryIndex + 2000), Items.Berry)
|
||||
Dim Berry As Items.Berry = CType(Item.GetItemByID(CStr(BerryIndex + 2000)), Items.Berry)
|
||||
|
||||
Dim WateredData As String = ""
|
||||
Dim wateredCount As Integer = 0
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
Public Overloads Sub Initialize(Optional ByVal AnimationData As List(Of List(Of Integer)) = Nothing)
|
||||
MyBase.Initialize()
|
||||
|
||||
Me.Item = Item.GetItemByID(CInt(Me.AdditionalValue.GetSplit(1)))
|
||||
Me.Item = Item.GetItemByID(Me.AdditionalValue.GetSplit(1))
|
||||
Me.ItemID = CInt(Me.AdditionalValue.GetSplit(0))
|
||||
|
||||
Me.Textures(0) = Me.Item.Texture
|
||||
|
@ -147,7 +147,13 @@
|
|||
End If
|
||||
Screen.TextBox.TextColor = TextBox.PlayerColor
|
||||
Screen.TextBox.Show(Core.Player.Name & " found~" & Me.Item.Name & "!*" & Core.Player.Inventory.GetMessageReceive(Item, 1), {Me})
|
||||
Core.Player.Inventory.AddItem(Me.Item.ID, 1)
|
||||
Dim ItemID As String
|
||||
If Me.Item.IsGameModeItem Then
|
||||
ItemID = Me.Item.gmID
|
||||
Else
|
||||
ItemID = Me.Item.ID.ToString
|
||||
End If
|
||||
Core.Player.Inventory.AddItem(ItemID, 1)
|
||||
PlayerStatistics.Track("Items found", 1)
|
||||
|
||||
Core.Player.AddPoints(1, "Found an item.")
|
||||
|
|
|
@ -42,9 +42,9 @@
|
|||
End Sub
|
||||
|
||||
Public Sub PlantBerry(ByVal ChosenBerry As Integer)
|
||||
Dim testItem As Item = Item.GetItemByID(ChosenBerry)
|
||||
Dim testItem As Item = Item.GetItemByID(ChosenBerry.ToString)
|
||||
If testItem.isBerry = True Then
|
||||
Dim Berry As Items.Berry = CType(Item.GetItemByID(ChosenBerry), Items.Berry)
|
||||
Dim Berry As Items.Berry = CType(Item.GetItemByID(ChosenBerry.ToString), Items.Berry)
|
||||
|
||||
BerryPlant.AddBerryPlant(Screen.Level.LevelFile, Me.Position, Berry.BerryIndex)
|
||||
Screen.TextBox.reDelay = 0.0F
|
||||
|
|
|
@ -722,7 +722,7 @@
|
|||
Core.SetScreen(New SelectFriendScreen(Me))
|
||||
End If
|
||||
If New Rectangle(100, 300, 32 * 5 + 64, 32).Contains(MouseHandler.MousePosition) = True Then
|
||||
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}
|
||||
Dim selScreen = New PartyScreen(Me, Item.GetItemByID(5.ToString), 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)
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
If Controls.Accept(True, False) = True Then
|
||||
If New Rectangle(180, 560, 32 * 5 + 64, 32).Contains(MouseHandler.MousePosition) = True Then
|
||||
|
||||
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}
|
||||
Dim selScreen = New PartyScreen(Me, Item.GetItemByID(5.ToString), AddressOf ChosePokemon, "Choose Pokémon to trade", True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
|
||||
AddHandler selScreen.SelectedObject, AddressOf ChosePokemonHandler
|
||||
SoundManager.PlaySound("select")
|
||||
Core.SetScreen(selScreen)
|
||||
|
|
|
@ -204,7 +204,7 @@
|
|||
If Me.OpenedSelect = True Then
|
||||
Me.CloseScreen()
|
||||
Else
|
||||
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}
|
||||
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5.ToString), 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)
|
||||
|
|
|
@ -314,7 +314,7 @@
|
|||
Case 0
|
||||
Me.StartTrade()
|
||||
Case 1
|
||||
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}
|
||||
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5.ToString), 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)
|
||||
|
|
|
@ -329,7 +329,7 @@
|
|||
|
||||
Private Sub StartBattle()
|
||||
If Not Me.OwnTeam Is Nothing And Not OppTeam Is Nothing Then
|
||||
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}
|
||||
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5.ToString), 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)
|
||||
|
|
|
@ -18036,7 +18036,7 @@
|
|||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Textures\battlepike.png">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Content\Sounds\VoltorbFlip\LoseGame.wav">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
|
@ -28460,6 +28460,7 @@
|
|||
<Compile Include="Pokemon\Items\Fossils\RootFossil.vb" />
|
||||
<Compile Include="Pokemon\Items\Fossils\OldAmber.vb" />
|
||||
<Compile Include="Pokemon\Items\Fossils\DomeFossil.vb" />
|
||||
<Compile Include="Pokemon\Items\GameModeItemLoader.vb" />
|
||||
<Compile Include="Pokemon\Items\Gems\BugGem.vb" />
|
||||
<Compile Include="Pokemon\Items\Gems\DarkGem.vb" />
|
||||
<Compile Include="Pokemon\Items\Gems\DragonGem.vb" />
|
||||
|
@ -28478,6 +28479,7 @@
|
|||
<Compile Include="Pokemon\Items\Gems\RockGem.vb" />
|
||||
<Compile Include="Pokemon\Items\Gems\SteelGem.vb" />
|
||||
<Compile Include="Pokemon\Items\Gems\WaterGem.vb" />
|
||||
<Compile Include="Pokemon\Items\GameModeItem.vb" />
|
||||
<Compile Include="Pokemon\Items\KeyItems\LightStone.vb" />
|
||||
<Compile Include="Pokemon\Items\KeyItems\DarkStone.vb" />
|
||||
<Compile Include="Pokemon\Items\KeyItems\LibertySeaMap.vb" />
|
||||
|
|
|
@ -534,6 +534,7 @@
|
|||
GameModeManager.SetGameModePointer(GameMode)
|
||||
|
||||
BattleSystem.GameModeAttackLoader.Load()
|
||||
GameModeItemLoader.Load()
|
||||
|
||||
If IsGameJoltSave = True Then
|
||||
SandBoxMode = False
|
||||
|
@ -592,9 +593,9 @@
|
|||
''' 2. Shiny Candy [ID: 501]
|
||||
If Not ActionScript.IsRegistered("PokemonIndev054Update") Then
|
||||
' Check Inventory.
|
||||
Inventory.RemoveItem(501)
|
||||
Inventory.RemoveItem(501.ToString)
|
||||
For i As Integer = 507 To 553 Step +1
|
||||
Inventory.RemoveItem(i)
|
||||
Inventory.RemoveItem(i.ToString)
|
||||
Next
|
||||
|
||||
' Check Party Pokemon.
|
||||
|
@ -958,7 +959,7 @@
|
|||
Dim amount As Integer = CInt(ItemID.Remove(0, ItemID.IndexOf("|") + 1))
|
||||
ItemID = ItemID.Remove(ItemID.IndexOf("|"))
|
||||
|
||||
Inventory.AddItem(CInt(ItemID), amount)
|
||||
Inventory.AddItem(ItemID, amount)
|
||||
Else
|
||||
If ItemDat <> "" And ItemDat.StartsWith("Mail|") = True Then
|
||||
Dim mailData As String = ItemDat.Remove(0, 5)
|
||||
|
@ -1498,7 +1499,7 @@
|
|||
End Sub
|
||||
|
||||
Private Sub SaveItems()
|
||||
Inventory.RemoveItem(177) 'Removing Sport Balls if player has those.
|
||||
Inventory.RemoveItem(177.ToString) 'Removing Sport Balls if player has those.
|
||||
|
||||
Dim Data As String = GetItemsData()
|
||||
|
||||
|
@ -1840,7 +1841,7 @@
|
|||
":end"
|
||||
|
||||
If Temp.LastUsedRepel > -1 Then
|
||||
Dim haveItemLeft As Boolean = Inventory.GetItemAmount(Temp.LastUsedRepel) > 0
|
||||
Dim haveItemLeft As Boolean = Inventory.GetItemAmount(Temp.LastUsedRepel.ToString) > 0
|
||||
|
||||
If haveItemLeft = True Then
|
||||
s = "version=2" & Environment.NewLine &
|
||||
|
|
|
@ -10,14 +10,14 @@ Public Class PlayerInventory
|
|||
''' </summary>
|
||||
Class ItemContainer
|
||||
|
||||
Private _itemID As Integer
|
||||
Private _itemID As String
|
||||
Private _amount As Integer
|
||||
|
||||
Public Property ItemID() As Integer
|
||||
Public Property ItemID() As String
|
||||
Get
|
||||
Return Me._itemID
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
Set(value As String)
|
||||
Me._itemID = value
|
||||
End Set
|
||||
End Property
|
||||
|
@ -31,7 +31,7 @@ Public Class PlayerInventory
|
|||
End Set
|
||||
End Property
|
||||
|
||||
Public Sub New(ByVal ItemID As Integer, ByVal Amount As Integer)
|
||||
Public Sub New(ByVal ItemID As String, ByVal Amount As Integer)
|
||||
Me.ItemID = ItemID
|
||||
Me.Amount = Amount
|
||||
End Sub
|
||||
|
@ -69,9 +69,7 @@ Public Class PlayerInventory
|
|||
''' </summary>
|
||||
''' <param name="ID">The ID of the item.</param>
|
||||
''' <param name="Amount">Amount of items to add.</param>
|
||||
Public Sub AddItem(ByVal ID As Integer, ByVal Amount As Integer)
|
||||
Dim newItem As Item = P3D.Item.GetItemByID(ID)
|
||||
|
||||
Public Sub AddItem(ByVal ID As String, ByVal Amount As Integer)
|
||||
For Each c As ItemContainer In Me
|
||||
If c.ItemID = ID Then
|
||||
c.Amount += Amount
|
||||
|
@ -87,7 +85,7 @@ Public Class PlayerInventory
|
|||
''' </summary>
|
||||
''' <param name="ID">The ID of the item to remove.</param>
|
||||
''' <param name="Amount">The amount of items to remove.</param>
|
||||
Public Sub RemoveItem(ByVal ID As Integer, ByVal Amount As Integer)
|
||||
Public Sub RemoveItem(ByVal ID As String, ByVal Amount As Integer)
|
||||
If Amount > 0 Then
|
||||
For Each c As ItemContainer In Me
|
||||
If c.ItemID = ID Then
|
||||
|
@ -113,7 +111,7 @@ Public Class PlayerInventory
|
|||
''' Removes all items of an ID from the inventory.
|
||||
''' </summary>
|
||||
''' <param name="ID">The ID of the item.</param>
|
||||
Public Sub RemoveItem(ByVal ID As Integer)
|
||||
Public Sub RemoveItem(ByVal ID As String)
|
||||
Dim Amount As Integer = Me.GetItemAmount(ID)
|
||||
If Amount > 0 Then
|
||||
Me.RemoveItem(ID, Amount)
|
||||
|
@ -124,7 +122,7 @@ Public Class PlayerInventory
|
|||
''' Returns the count of the item in the inventory.
|
||||
''' </summary>
|
||||
''' <param name="ID">The ID of the item to be counted.</param>
|
||||
Public Function GetItemAmount(ByVal ID As Integer) As Integer
|
||||
Public Function GetItemAmount(ByVal ID As String) As Integer
|
||||
For Each c As ItemContainer In Me
|
||||
If c.ItemID = ID Then
|
||||
Return c.Amount
|
||||
|
@ -142,7 +140,7 @@ Public Class PlayerInventory
|
|||
If Core.Player.SandBoxMode = True Or GameController.IS_DEBUG_ACTIVE = True Then
|
||||
Return True
|
||||
Else
|
||||
If Me.GetItemAmount(78) > 0 Then
|
||||
If Me.GetItemAmount(78.ToString) > 0 Then
|
||||
Return True
|
||||
End If
|
||||
End If
|
||||
|
@ -156,7 +154,7 @@ Public Class PlayerInventory
|
|||
''' </summary>
|
||||
Public ReadOnly Property HasMegaBracelet() As Boolean
|
||||
Get
|
||||
If Me.GetItemAmount(576) > 0 Then
|
||||
If Me.GetItemAmount(576.ToString) > 0 Then
|
||||
Return True
|
||||
End If
|
||||
|
||||
|
@ -170,7 +168,7 @@ Public Class PlayerInventory
|
|||
''' <param name="Item">The Item to store in the inventory.</param>
|
||||
''' <param name="Amount">The amount.</param>
|
||||
Public Function GetMessageReceive(ByVal Item As Item, ByVal Amount As Integer) As String
|
||||
Dim Message As String = ""
|
||||
Dim Message As String
|
||||
If Amount = 1 Then
|
||||
Message = Core.Player.Name & " stored it in the~" & Core.Player.Inventory.GetItemPocketChar(Item) & Item.ItemType.ToString() & " pocket."
|
||||
Else
|
||||
|
|
|
@ -8,12 +8,12 @@ Namespace Abilities
|
|||
MyBase.New(14, "Compoundeyes", "The Pokémon's accuracy is boosted.")
|
||||
End Sub
|
||||
|
||||
Public Shared Function ConvertItemChances(ByVal WildItems As Dictionary(Of Integer, Integer)) As Dictionary(Of Integer, Integer)
|
||||
Dim d As New Dictionary(Of Integer, Integer)
|
||||
Public Shared Function ConvertItemChances(ByVal WildItems As Dictionary(Of Integer, String)) As Dictionary(Of Integer, String)
|
||||
Dim d As New Dictionary(Of Integer, String)
|
||||
|
||||
For i = 0 To WildItems.Count - 1
|
||||
Dim chance As Integer = WildItems.Keys(i)
|
||||
Dim itemID As Integer = WildItems.Values(i)
|
||||
Dim itemID As String = WildItems.Values(CInt(i))
|
||||
|
||||
Select Case chance
|
||||
Case 50
|
||||
|
|
|
@ -14,7 +14,7 @@ Namespace Abilities
|
|||
If p.Item Is Nothing Then
|
||||
Dim chance As Integer = CInt(Math.Ceiling(p.Level / 10) * 5)
|
||||
If Core.Random.Next(0, 100) < chance Then
|
||||
p.Item = Item.GetItemByID(253)
|
||||
p.Item = Item.GetItemByID(253.ToString)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
|
|
@ -24,7 +24,7 @@ Namespace Abilities
|
|||
itemList = Get1(p)
|
||||
End If
|
||||
If itemList.Count > 0 Then
|
||||
p.Item = Item.GetItemByID(itemList(Core.Random.Next(0, itemList.Count)))
|
||||
p.Item = Item.GetItemByID(itemList(Core.Random.Next(0, itemList.Count)).ToString)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
Dim ItemID As Integer = op.Item.ID
|
||||
|
||||
BattleScreen.Battle.RemoveHeldItem(Not own, own, BattleScreen, p.GetDisplayName() & " ate the " & op.Item.Name & " berry!", "move:bugbite")
|
||||
BattleScreen.Battle.UseBerry(own, own, Item.GetItemByID(ItemID), BattleScreen, "", "move:bugbite")
|
||||
BattleScreen.Battle.UseBerry(own, own, Item.GetItemByID(ItemID.ToString), BattleScreen, "", "move:bugbite")
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
|
|
@ -141,7 +141,11 @@
|
|||
End If
|
||||
End Select
|
||||
|
||||
p.OriginalItem = Item.GetItemByID(p.Item.ID)
|
||||
Dim ItemID As String = p.Item.ID.ToString
|
||||
If p.Item.IsGameModeItem = True Then
|
||||
ItemID = p.Item.gmID
|
||||
End If
|
||||
p.OriginalItem = Item.GetItemByID(ItemID)
|
||||
p.Item = Nothing
|
||||
End If
|
||||
End Sub
|
||||
|
|
|
@ -117,7 +117,11 @@
|
|||
Exit Sub
|
||||
End If
|
||||
|
||||
op.OriginalItem = Item.GetItemByID(op.Item.ID)
|
||||
Dim ItemID As String = op.Item.ID.ToString
|
||||
If op.Item.IsGameModeItem = True Then
|
||||
ItemID = op.Item.gmID
|
||||
End If
|
||||
op.OriginalItem = Item.GetItemByID(ItemID)
|
||||
op.OriginalItem.AdditionalData = op.Item.AdditionalData
|
||||
BattleScreen.Battle.RemoveHeldItem(Not own, own, BattleScreen, p.GetDisplayName() & " knocked off the " & op.GetDisplayName() & "'s " & op.OriginalItem.Name & "!", "move:knockoff")
|
||||
|
||||
|
|
|
@ -84,9 +84,12 @@
|
|||
End If
|
||||
|
||||
If p.Item Is Nothing Then
|
||||
Dim ItemID As Integer = op.Item.ID
|
||||
Dim ItemID As String = op.Item.ID.ToString
|
||||
If op.Item.IsGameModeItem = True Then
|
||||
ItemID = op.Item.gmID
|
||||
End If
|
||||
|
||||
op.OriginalItem = Item.GetItemByID(op.Item.ID)
|
||||
op.OriginalItem = Item.GetItemByID(ItemID)
|
||||
op.OriginalItem.AdditionalData = op.Item.AdditionalData
|
||||
|
||||
If BattleScreen.Battle.RemoveHeldItem(Not own, own, BattleScreen, "Thief stole the item " & op.Item.Name & " from " & op.GetDisplayName() & "!", "move:thief") Then
|
||||
|
|
|
@ -64,8 +64,15 @@ Namespace BattleSystem.Moves.Flying
|
|||
End If
|
||||
|
||||
If Not op.Item Is Nothing Then
|
||||
If op.Item.isBerry = True Then
|
||||
BattleScreen.Battle.UseBerry(own, own, Item.GetItemByID(op.Item.ID), BattleScreen, "", "move:pluck")
|
||||
If op.Item.IsBerry = True Then
|
||||
Dim ItemID As String
|
||||
If op.Item.IsGameModeItem Then
|
||||
ItemID = op.Item.gmID
|
||||
Else
|
||||
ItemID = op.Item.ID.ToString
|
||||
End If
|
||||
|
||||
BattleScreen.Battle.UseBerry(own, own, Item.GetItemByID(ItemID), BattleScreen, "", "move:pluck")
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
|
|
@ -95,9 +95,12 @@
|
|||
End If
|
||||
|
||||
If op.Item Is Nothing And a = True And b = False Then
|
||||
Dim ItemID As Integer = p.Item.ID
|
||||
Dim ItemID As String = p.Item.ID.ToString
|
||||
If p.Item.IsGameModeItem = True Then
|
||||
ItemID = p.Item.gmID
|
||||
End If
|
||||
|
||||
p.OriginalItem = Item.GetItemByID(p.Item.ID)
|
||||
p.OriginalItem = Item.GetItemByID(ItemID)
|
||||
p.OriginalItem.AdditionalData = p.Item.AdditionalData
|
||||
|
||||
If BattleScreen.Battle.RemoveHeldItem(own, own, BattleScreen, op.GetDisplayName() & " received the item " & p.Item.Name & " from " & p.GetDisplayName() & "!", "move:bestow") Then
|
||||
|
|
|
@ -87,9 +87,12 @@ Namespace BattleSystem.Moves.Normal
|
|||
End If
|
||||
|
||||
If p.Item Is Nothing Then
|
||||
Dim ItemID As Integer = op.Item.ID
|
||||
Dim ItemID As String = op.Item.ID.ToString
|
||||
If op.Item.IsGameModeItem = True Then
|
||||
ItemID = op.Item.gmID
|
||||
End If
|
||||
|
||||
op.OriginalItem = Item.GetItemByID(op.Item.ID)
|
||||
op.OriginalItem = Item.GetItemByID(ItemID)
|
||||
op.OriginalItem.AdditionalData = op.Item.AdditionalData
|
||||
|
||||
If BattleScreen.Battle.RemoveHeldItem(Not own, own, BattleScreen, "Covet stole the item " & op.Item.Name & " from " & op.GetDisplayName() & "!", "move:covet") Then
|
||||
|
|
|
@ -125,11 +125,29 @@ Namespace BattleSystem.Moves.Psychic
|
|||
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
|
||||
Dim pItemID As String = p.Item.ID.ToString
|
||||
Dim pOriginalItemID As String = p.OriginalItem.ID.ToString
|
||||
If p.Item.IsGameModeItem = True Then
|
||||
pItemID = p.Item.gmID
|
||||
End If
|
||||
If p.OriginalItem.IsGameModeItem = True Then
|
||||
pOriginalItemID = p.Item.gmID
|
||||
End If
|
||||
|
||||
If pItemID = pOriginalItemID 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
|
||||
Dim opItemID As String = op.Item.ID.ToString
|
||||
Dim opOriginalItemID As String = op.OriginalItem.ID.ToString
|
||||
If op.Item.IsGameModeItem = True Then
|
||||
opItemID = op.Item.gmID
|
||||
End If
|
||||
If op.OriginalItem.IsGameModeItem = True Then
|
||||
opOriginalItemID = op.Item.gmID
|
||||
End If
|
||||
|
||||
If op.Item.ID = op.OriginalItem.ID AndAlso op.Item.AdditionalData = op.OriginalItem.AdditionalData Then
|
||||
p.OriginalItem = Nothing
|
||||
End If
|
||||
|
|
|
@ -5,7 +5,7 @@ Namespace Items.Balls
|
|||
|
||||
Inherits BallItem
|
||||
|
||||
Public Overrides ReadOnly Property CanBeHold As Boolean = False
|
||||
Public Overrides ReadOnly Property CanBeHeld As Boolean = False
|
||||
Public Overrides ReadOnly Property Description As String = "A special Pokéball that is used only in the Great Marsh and the Safari Zone. It is decorated in a camouflage pattern."
|
||||
Public Overrides ReadOnly Property PokeDollarPrice As Integer = 200
|
||||
Public Overrides ReadOnly Property CatchMultiplier As Single = 1.5F
|
||||
|
|
|
@ -5,7 +5,7 @@ Namespace Items.Balls
|
|||
|
||||
Inherits BallItem
|
||||
|
||||
Public Overrides ReadOnly Property CanBeHold As Boolean = False
|
||||
Public Overrides ReadOnly Property CanBeHeld As Boolean = False
|
||||
Public Overrides ReadOnly Property Description As String = "A special Pokéball for the Bug-Catching Contest."
|
||||
Public Overrides ReadOnly Property PokeDollarPrice As Integer = 200
|
||||
Public Overrides ReadOnly Property CatchMultiplier As Single = 1.5F
|
||||
|
|
|
@ -0,0 +1,149 @@
|
|||
Imports P3D.Items
|
||||
|
||||
''' <summary>
|
||||
''' An item the player stores in their inventory.
|
||||
''' </summary>
|
||||
Public Class GameModeItem
|
||||
|
||||
Inherits Item
|
||||
|
||||
Public gmTextureSource As String = "Items\GameModeItems"
|
||||
Public gmPluralName As String = gmName
|
||||
Public gmPrice As Integer = 0
|
||||
Public gmBattlePointsPrice As Integer = 1
|
||||
Public gmItemType As ItemTypes = ItemTypes.Standard
|
||||
|
||||
Public gmCatchMultiplier As Single = 1.0F
|
||||
Public gmMaxStack As Integer = 999
|
||||
Public gmFlingDamage As Integer = 30
|
||||
Public gmCanBeTraded As Boolean = True
|
||||
Public gmCanBeHeld As Boolean = True
|
||||
Public gmCanBeUsed As Boolean = True
|
||||
Public gmCanBeUsedInBattle As Boolean = True
|
||||
Public gmCanBeTossed As Boolean = True
|
||||
Public gmBattleSelectPokemon As Boolean = True
|
||||
'Medicine Item
|
||||
Public gmIsHealingItem As Boolean = False
|
||||
Public gmHealHPAmount As Integer = 0
|
||||
Public gmCureStatusEffects As List(Of Pokemon.StatusProblems)
|
||||
'Evolution Item
|
||||
Public gmIsEvolutionItem As Boolean = False
|
||||
Public gmEvolutionPokemon As List(Of Integer)
|
||||
|
||||
'Mega Stone Item
|
||||
Public gmMegaPokemonNumber As Integer
|
||||
|
||||
Public Sub New()
|
||||
IsGameModeItem = True
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' The plural name of the item.
|
||||
''' </summary>
|
||||
Public Overrides ReadOnly Property PluralName As String
|
||||
Get
|
||||
Return gmPluralName
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' The price of this item if the player purchases it in exchange for PokéDollars. This halves when selling an item to the store.
|
||||
''' </summary>
|
||||
Public Overrides ReadOnly Property PokeDollarPrice As Integer = gmPrice
|
||||
|
||||
''' <summary>
|
||||
''' The price of this item if the player purchases it exchange for BattlePoints.
|
||||
''' </summary>
|
||||
Public Overrides ReadOnly Property BattlePointsPrice As Integer = gmBattlePointsPrice
|
||||
|
||||
''' <summary>
|
||||
''' The type of this item. This also controls in which bag this item gets sorted.
|
||||
''' </summary>
|
||||
Public Overrides ReadOnly Property ItemType As ItemTypes = gmItemType
|
||||
|
||||
''' <summary>
|
||||
''' The default catch multiplier if the item gets used as a Pokéball.
|
||||
''' </summary>
|
||||
Public Overrides ReadOnly Property CatchMultiplier As Single = gmCatchMultiplier
|
||||
|
||||
''' <summary>
|
||||
''' The maximum amount of this item type (per ID) that can be stored in the bag.
|
||||
''' </summary>
|
||||
Public Overrides ReadOnly Property MaxStack As Integer = gmMaxStack
|
||||
|
||||
''' <summary>
|
||||
''' A value that can be used to sort items in the bag after. Lower values make items appear closer to the top.
|
||||
''' </summary>
|
||||
Public Overrides ReadOnly Property SortValue As Integer = 0
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' The bag description of this item.
|
||||
''' </summary>
|
||||
Public Overrides ReadOnly Property Description As String = gmDescription
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' The damage the Fling move does when this item is attached to a Pokémon.
|
||||
''' </summary>
|
||||
Public Overrides ReadOnly Property FlingDamage As Integer = gmFlingDamage
|
||||
|
||||
''' <summary>
|
||||
''' If this item can be traded in for money.
|
||||
''' </summary>
|
||||
Public Overrides ReadOnly Property CanBeTraded As Boolean = gmCanBeTraded
|
||||
|
||||
''' <summary>
|
||||
''' If this item can be given to a Pokémon.
|
||||
''' </summary>
|
||||
Public Overrides ReadOnly Property CanBeHeld As Boolean = gmCanBeHeld
|
||||
|
||||
''' <summary>
|
||||
''' If this item can be used from the bag.
|
||||
''' </summary>
|
||||
Public Overrides ReadOnly Property CanBeUsed As Boolean = gmCanBeUsed
|
||||
|
||||
''' <summary>
|
||||
''' If this item can be used in battle.
|
||||
''' </summary>
|
||||
Public Overrides ReadOnly Property CanBeUsedInBattle As Boolean = gmCanBeUsedInBattle
|
||||
|
||||
''' <summary>
|
||||
''' If this item can be tossed in the bag.
|
||||
''' </summary>
|
||||
Public Overrides ReadOnly Property CanBeTossed As Boolean = gmCanBeTossed
|
||||
|
||||
''' <summary>
|
||||
''' If this item requires the player to select a Pokémon to use the item on in battle.
|
||||
''' </summary>
|
||||
Public Overrides ReadOnly Property BattleSelectPokemon As Boolean = gmBattleSelectPokemon
|
||||
|
||||
''' <summary>
|
||||
''' If this item is a Healing item.
|
||||
''' </summary>
|
||||
Public Overrides ReadOnly Property IsHealingItem As Boolean = gmIsHealingItem
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' The item gets used from the bag.
|
||||
''' </summary>
|
||||
Public Overrides Sub Use()
|
||||
Logger.Debug("PLACEHOLDER FOR GAMEMODE ITEM USE")
|
||||
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>
|
||||
''' <param name="PokeIndex">The Index of the Pokémon in party.</param>
|
||||
Public Overrides Function UseOnPokemon(ByVal PokeIndex As Integer) As Boolean
|
||||
If PokeIndex < 0 Or PokeIndex > 5 Then
|
||||
Throw New ArgumentOutOfRangeException("PokeIndex", PokeIndex, "The index for a Pokémon in a player's party can only be between 0 and 5.")
|
||||
End If
|
||||
|
||||
Logger.Debug("PLACEHOLDER FOR GAMEMODE ITEM USE ON POKEMON")
|
||||
Return False
|
||||
End Function
|
||||
|
||||
|
||||
End Class
|
|
@ -0,0 +1,207 @@
|
|||
Imports P3D.Items
|
||||
|
||||
''' <summary>
|
||||
''' Provides an interface to load additional GameMode items.
|
||||
''' </summary>
|
||||
Public Class GameModeItemLoader
|
||||
|
||||
'The default relative path to load items from (Content folder).
|
||||
Const PATH As String = "Data\Items\"
|
||||
|
||||
'List of loaded items.
|
||||
Shared LoadedItems As New List(Of GameModeItem)
|
||||
|
||||
''' <summary>
|
||||
''' Load the attack list for the loaded GameMode.
|
||||
''' </summary>
|
||||
''' <remarks>The game won't try to load the list if the default GameMode is selected.</remarks>
|
||||
Public Shared Sub Load()
|
||||
LoadedItems.Clear()
|
||||
|
||||
If GameModeManager.ActiveGameMode.IsDefaultGamemode = False Then
|
||||
If System.IO.Directory.Exists(GameController.GamePath & "\" & GameModeManager.ActiveGameMode.ContentPath & "\" & PATH) = True Then
|
||||
For Each file As String In System.IO.Directory.GetFiles(GameController.GamePath & "\" & GameModeManager.ActiveGameMode.ContentPath & PATH, "*.dat")
|
||||
LoadItem(file)
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
|
||||
If LoadedItems.Count > 0 Then
|
||||
Logger.Debug("Loaded " & LoadedItems.Count.ToString() & " GameMode item(s).")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Loads a item from a file.
|
||||
''' </summary>
|
||||
''' <param name="file">The file to load the item from.</param>
|
||||
Private Shared Sub LoadItem(ByVal file As String)
|
||||
Dim item As New GameModeItem
|
||||
|
||||
Dim content() As String = System.IO.File.ReadAllLines(file)
|
||||
|
||||
Dim key As String = ""
|
||||
Dim value As String = ""
|
||||
|
||||
Dim setID As Boolean = False 'Controls if the item sets its ID.
|
||||
Dim setName As Boolean = False 'Controls if the item sets its ID.
|
||||
|
||||
Try
|
||||
'Go through lines of the file and set the properties depending on the content.
|
||||
'Lines starting with # are comments.
|
||||
For Each l As String In content
|
||||
If l.Contains("|") = True And l.StartsWith("#") = False Then
|
||||
key = l.Remove(l.IndexOf("|"))
|
||||
value = l.Remove(0, l.IndexOf("|") + 1)
|
||||
|
||||
Select Case key.ToLower()
|
||||
Case "id"
|
||||
item.gmID = "gm" & CInt(value).ToString
|
||||
Dim itemX As Integer = CInt(value)
|
||||
Dim itemY As Integer = 0
|
||||
Dim sheetWidth As Integer = CInt(TextureManager.GetTexture(item.gmTextureSource).Width / 24)
|
||||
While itemX > sheetWidth - 1
|
||||
itemX -= sheetWidth
|
||||
itemY += 1
|
||||
End While
|
||||
item.gmTextureRectangle = New Rectangle(CInt(itemX * 24), CInt(itemY * 24), 24, 24)
|
||||
setID = True
|
||||
Case "name"
|
||||
item.gmName = value
|
||||
setName = True
|
||||
Case "pluralname"
|
||||
item.gmPluralName = value
|
||||
Case "description"
|
||||
item.gmDescription = value
|
||||
Case "type"
|
||||
Select Case value
|
||||
Case "standard", "0"
|
||||
item.gmItemType = ItemTypes.Standard
|
||||
Case "medicine", "1"
|
||||
item.gmItemType = ItemTypes.Medicine
|
||||
Case "plants", "2"
|
||||
item.gmItemType = ItemTypes.Plants
|
||||
Case "balls", "pokeballs", "pokéballs", "3"
|
||||
item.gmItemType = ItemTypes.Pokéballs
|
||||
Case "machines", "4"
|
||||
item.gmItemType = ItemTypes.Machines
|
||||
Case "keyitems", "5"
|
||||
item.gmItemType = ItemTypes.KeyItems
|
||||
Case "mail", "6"
|
||||
item.gmItemType = ItemTypes.Mail
|
||||
Case "battleitems", "7"
|
||||
item.gmItemType = ItemTypes.BattleItems
|
||||
End Select
|
||||
Case "canbeused"
|
||||
item.gmCanBeUsed = CBool(value)
|
||||
Case "canbeusedinbattle"
|
||||
item.gmCanBeUsedInBattle = CBool(value)
|
||||
Case "useonpokemoninbattle"
|
||||
item.gmBattleSelectPokemon = CBool(value)
|
||||
Case "canbetossed"
|
||||
item.gmCanBeTossed = CBool(value)
|
||||
Case "canbeheld"
|
||||
item.gmCanBeHeld = CBool(value)
|
||||
Case "canbetraded"
|
||||
item.gmCanBeTraded = CBool(value)
|
||||
Case "price"
|
||||
item.gmPrice = CInt(value)
|
||||
Case "battlepointsprice"
|
||||
item.gmBattlePointsPrice = CInt(value)
|
||||
Case "catchmultiplier"
|
||||
item.gmCatchMultiplier = CSng(value)
|
||||
Case "maxstack"
|
||||
item.gmMaxStack = CInt(value)
|
||||
Case "flingdamage"
|
||||
item.gmFlingDamage = CInt(value)
|
||||
Case "ishealingitem"
|
||||
item.gmIsHealingItem = CBool(value)
|
||||
Case "healhpamount"
|
||||
item.gmHealHPAmount = CInt(value)
|
||||
Case "curestatuseffects"
|
||||
Dim StatusEffectList As New List(Of Pokemon.StatusProblems)
|
||||
Dim valueSplit As String() = value.Split(",")
|
||||
For i = 0 To valueSplit.Count - 1
|
||||
Select Case valueSplit(i).ToLower
|
||||
Case "brn"
|
||||
StatusEffectList.Add(Pokemon.StatusProblems.Burn)
|
||||
Case "frz"
|
||||
StatusEffectList.Add(Pokemon.StatusProblems.Freeze)
|
||||
Case "prz"
|
||||
StatusEffectList.Add(Pokemon.StatusProblems.Paralyzed)
|
||||
Case "psn"
|
||||
StatusEffectList.Add(Pokemon.StatusProblems.Poison)
|
||||
Case "bpsn"
|
||||
StatusEffectList.Add(Pokemon.StatusProblems.BadPoison)
|
||||
Case "slp"
|
||||
StatusEffectList.Add(Pokemon.StatusProblems.Sleep)
|
||||
Case "fnt"
|
||||
StatusEffectList.Add(Pokemon.StatusProblems.Fainted)
|
||||
End Select
|
||||
Next
|
||||
If item.gmCureStatusEffects Is Nothing Then
|
||||
item.gmCureStatusEffects = StatusEffectList
|
||||
Else
|
||||
item.gmCureStatusEffects.AddRange(StatusEffectList)
|
||||
End If
|
||||
Case "isevolutionitem"
|
||||
item.gmIsEvolutionItem = CBool(value)
|
||||
Case "evolutionpokemon"
|
||||
Dim PokemonList As New List(Of Integer)
|
||||
Dim valueSplit As String() = value.Split(",")
|
||||
For i = 0 To valueSplit.Count - 1
|
||||
If Pokemon.PokemonDataExists(CInt(valueSplit(i))) Then
|
||||
PokemonList.Add(CInt(valueSplit(i)))
|
||||
End If
|
||||
Next
|
||||
If item.gmEvolutionPokemon Is Nothing Then
|
||||
item.gmEvolutionPokemon = PokemonList
|
||||
Else
|
||||
item.gmEvolutionPokemon.AddRange(PokemonList)
|
||||
End If
|
||||
End Select
|
||||
End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
'If an error occurs loading a item, log the error.
|
||||
Logger.Log(Logger.LogTypes.ErrorMessage, "GameModeItemLoader.vb: Error loading GameMode Item from file """ & file & """: " & ex.Message & "; Last Key/Value pair successfully loaded: " & key & "|" & value)
|
||||
End Try
|
||||
|
||||
If setID = True AndAlso setName = True Then
|
||||
If item.gmIsMegaStone = True AndAlso item.gmMegaPokemonNumber <> Nothing AndAlso item.gmDescription = "" Then
|
||||
Dim MegaPokemonName As String = Pokemon.GetPokemonByID(item.gmMegaPokemonNumber, item.AdditionalData).GetName
|
||||
item.gmDescription = "One variety of the mysterious Mega Stones. Have " & MegaPokemonName & " hold it, and this stone will enable it to Mega Evolve during battle."
|
||||
item.gmCanBeTossed = False
|
||||
item.gmCanBeTraded = False
|
||||
item.gmCanBeUsed = False
|
||||
item.gmCanBeUsedInBattle = False
|
||||
End If
|
||||
LoadedItems.Add(item) 'Add the item.
|
||||
Else
|
||||
Logger.Log(Logger.LogTypes.ErrorMessage, "GameModeItemLoader.vb: User defined Items must set their ID through the ""ID"" property and their Name through the ""Name"" property, however the item loaded from """ & file & """ has no ID or Name set so it will be ignored.")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Returns a custom item based on its ID.
|
||||
''' </summary>
|
||||
''' <param name="ID">The ID of the custom item.</param>
|
||||
''' <returns>Returns a item or nothing.</returns>
|
||||
Public Shared Function GetItemByID(ByVal ID As String) As GameModeItem
|
||||
For Each i As GameModeItem In LoadedItems
|
||||
If i.gmID = ID Then
|
||||
Return i
|
||||
End If
|
||||
Next
|
||||
Return Nothing
|
||||
End Function
|
||||
Public Shared Function GetItemByName(ByVal Name As String) As GameModeItem
|
||||
For Each i As GameModeItem In LoadedItems
|
||||
If i.gmName.ToLowerInvariant() = Name.ToLowerInvariant() Then
|
||||
Return i
|
||||
End If
|
||||
Next
|
||||
Return Nothing
|
||||
End Function
|
||||
|
||||
End Class
|
|
@ -9,6 +9,18 @@ Public MustInherit Class Item
|
|||
Protected _textureRectangle As Rectangle
|
||||
Private _texture As Texture2D
|
||||
|
||||
'GameMode Items
|
||||
Public gmID As String = ""
|
||||
Public gmName As String = ""
|
||||
Public gmDescription As String = ""
|
||||
Public gmTextureRectangle As Rectangle
|
||||
Public gmIsBerry As Boolean = False
|
||||
Public gmIsMail As Boolean = False
|
||||
Public gmIsMegaStone As Boolean = False
|
||||
Public gmIsPlate As Boolean = False
|
||||
|
||||
Public Property IsGameModeItem As Boolean = False
|
||||
|
||||
Public ReadOnly Property TextureSource As String
|
||||
Get
|
||||
Return _textureSource & "," & _textureRectangle.X & "," & _textureRectangle.Y & "," & _textureRectangle.Width & "," & _textureRectangle.Height
|
||||
|
@ -16,10 +28,18 @@ Public MustInherit Class Item
|
|||
End Property
|
||||
|
||||
Public Function GetDescription() As String
|
||||
If Localization.TokenExists("item_desc_" & GetAttribute().Id) = True Then
|
||||
Return Localization.GetString("item_desc_" & GetAttribute().Id)
|
||||
If IsGameModeItem = True Then
|
||||
If Localization.TokenExists("item_desc_" & gmID) = True Then
|
||||
Return Localization.GetString("item_desc_" & gmID)
|
||||
Else
|
||||
Return Me.gmDescription
|
||||
End If
|
||||
Else
|
||||
Return Me.Description
|
||||
If Localization.TokenExists("item_desc_" & GetAttribute().Id) = True Then
|
||||
Return Localization.GetString("item_desc_" & GetAttribute().Id)
|
||||
Else
|
||||
Return Me.Description
|
||||
End If
|
||||
End If
|
||||
End Function
|
||||
|
||||
|
@ -34,7 +54,11 @@ Public MustInherit Class Item
|
|||
End Function
|
||||
|
||||
Public Function OriginalName() As String
|
||||
Return GetAttribute().Name
|
||||
If IsGameModeItem = True Then
|
||||
Return gmName
|
||||
Else
|
||||
Return GetAttribute().Name
|
||||
End If
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
|
@ -42,10 +66,18 @@ Public MustInherit Class Item
|
|||
''' </summary>
|
||||
Public Overridable ReadOnly Property Name As String
|
||||
Get
|
||||
If Localization.TokenExists("item_name_" & GetAttribute().Id) = True Then
|
||||
Return Localization.GetString("item_name_" & GetAttribute().Id)
|
||||
If IsGameModeItem = True Then
|
||||
If Localization.TokenExists("item_name_" & gmID) = True Then
|
||||
Return Localization.GetString("item_name_" & gmID)
|
||||
Else
|
||||
Return gmName
|
||||
End If
|
||||
Else
|
||||
Return GetAttribute().Name
|
||||
If Localization.TokenExists("item_name_" & GetAttribute().Id) = True Then
|
||||
Return Localization.GetString("item_name_" & GetAttribute().Id)
|
||||
Else
|
||||
Return GetAttribute().Name
|
||||
End If
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
|
@ -103,8 +135,14 @@ Public MustInherit Class Item
|
|||
''' </summary>
|
||||
Public ReadOnly Property Texture As Texture2D
|
||||
Get
|
||||
If _texture Is Nothing Then
|
||||
_texture = TextureManager.GetTexture(_textureSource, _textureRectangle, "")
|
||||
If IsGameModeItem = True Then
|
||||
If _texture Is Nothing Then
|
||||
_texture = TextureManager.GetTexture(_textureSource, gmTextureRectangle, "")
|
||||
End If
|
||||
Else
|
||||
If _texture Is Nothing Then
|
||||
_texture = TextureManager.GetTexture(_textureSource, _textureRectangle, "")
|
||||
End If
|
||||
End If
|
||||
|
||||
Return _texture
|
||||
|
@ -120,6 +158,7 @@ Public MustInherit Class Item
|
|||
''' The additional data that is stored with this item.
|
||||
''' </summary>
|
||||
Public Property AdditionalData As String = ""
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' The damage the Fling move does when this item is attached to a Pokémon.
|
||||
|
@ -134,7 +173,7 @@ Public MustInherit Class Item
|
|||
''' <summary>
|
||||
''' If this item can be given to a Pokémon.
|
||||
''' </summary>
|
||||
Public Overridable ReadOnly Property CanBeHold As Boolean = True
|
||||
Public Overridable ReadOnly Property CanBeHeld As Boolean = True
|
||||
|
||||
''' <summary>
|
||||
''' If this item can be used from the bag.
|
||||
|
@ -166,7 +205,11 @@ Public MustInherit Class Item
|
|||
''' </summary>
|
||||
Public Overridable ReadOnly Property IsBall As Boolean
|
||||
Get
|
||||
Return [GetType]().IsSubclassOf(GetType(Items.Balls.BallItem))
|
||||
If IsGameModeItem = True Then
|
||||
Return Me.ItemType = ItemTypes.Pokéballs
|
||||
Else
|
||||
Return [GetType]().IsSubclassOf(GetType(Items.Balls.BallItem))
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
@ -175,7 +218,11 @@ Public MustInherit Class Item
|
|||
''' </summary>
|
||||
Public ReadOnly Property IsBerry As Boolean
|
||||
Get
|
||||
Return [GetType]().IsSubclassOf(GetType(Berry))
|
||||
If IsGameModeItem = True Then
|
||||
Return gmIsBerry
|
||||
Else
|
||||
Return [GetType]().IsSubclassOf(GetType(Berry))
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
@ -184,7 +231,11 @@ Public MustInherit Class Item
|
|||
''' </summary>
|
||||
Public ReadOnly Property IsMail As Boolean
|
||||
Get
|
||||
Return [GetType]().IsSubclassOf(GetType(MailItem))
|
||||
If IsGameModeItem = True Then
|
||||
Return gmIsMail
|
||||
Else
|
||||
Return [GetType]().IsSubclassOf(GetType(MailItem))
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
@ -193,7 +244,11 @@ Public MustInherit Class Item
|
|||
''' </summary>
|
||||
Public ReadOnly Property IsMegaStone As Boolean
|
||||
Get
|
||||
Return [GetType]().IsSubclassOf(GetType(MegaStone))
|
||||
If IsGameModeItem = True Then
|
||||
Return gmIsMegaStone
|
||||
Else
|
||||
Return [GetType]().IsSubclassOf(GetType(MegaStone))
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
@ -202,7 +257,11 @@ Public MustInherit Class Item
|
|||
''' </summary>
|
||||
Public ReadOnly Property IsPlate As Boolean
|
||||
Get
|
||||
Return [GetType]().IsSubclassOf(GetType(PlateItem))
|
||||
If IsGameModeItem = True Then
|
||||
Return gmIsPlate
|
||||
Else
|
||||
Return [GetType]().IsSubclassOf(GetType(PlateItem))
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
@ -252,7 +311,13 @@ Public MustInherit Class Item
|
|||
''' Tries to remove a single item of this item type from the player's bag and returns a message which changes depending on if the item that got removed was the last one of its kind.
|
||||
''' </summary>
|
||||
Public Function RemoveItem() As String
|
||||
Core.Player.Inventory.RemoveItem(Me.ID, 1)
|
||||
Dim ItemID As String
|
||||
If IsGameModeItem = True Then
|
||||
ItemID = Me.gmID
|
||||
Else
|
||||
ItemID = Me.ID.ToString
|
||||
End If
|
||||
Core.Player.Inventory.RemoveItem(ItemID, 1)
|
||||
Dim s As Screen = Core.CurrentScreen
|
||||
While Not s.PreScreen Is Nothing And s.Identification <> Screen.Identifications.InventoryScreen
|
||||
s = s.PreScreen
|
||||
|
@ -261,9 +326,11 @@ Public MustInherit Class Item
|
|||
If s.Identification = Screen.Identifications.InventoryScreen Then
|
||||
CType(s, NewInventoryScreen).LoadItems()
|
||||
End If
|
||||
If Core.Player.Inventory.GetItemAmount(Me.ID) <= 0 Then
|
||||
|
||||
If Core.Player.Inventory.GetItemAmount(ItemID) <= 0 Then
|
||||
Return "*There are no~" & Me.PluralName & " left."
|
||||
End If
|
||||
|
||||
Return ""
|
||||
End Function
|
||||
|
||||
|
@ -289,18 +356,25 @@ Public MustInherit Class Item
|
|||
''' Returns an item instance based on the passed in ID.
|
||||
''' </summary>
|
||||
''' <param name="ID">The desired item's ID.</param>
|
||||
Public Shared Function GetItemByID(ByVal ID As Integer) As Item
|
||||
If _itemBuffer Is Nothing Then
|
||||
LoadItemBuffer()
|
||||
End If
|
||||
Public Shared Function GetItemByID(ByVal ID As String) As Item
|
||||
If ID.Contains("gm") Then
|
||||
Dim gmItem As GameModeItem = GameModeItemLoader.GetItemByID(ID)
|
||||
If gmItem IsNot Nothing Then
|
||||
Return gmItem
|
||||
End If
|
||||
Else
|
||||
If _itemBuffer Is Nothing Then
|
||||
LoadItemBuffer()
|
||||
End If
|
||||
|
||||
Dim type = _itemBuffer.FirstOrDefault(Function(itemTypePair)
|
||||
Return itemTypePair.Key.Id = ID
|
||||
End Function).Value
|
||||
If type IsNot Nothing Then
|
||||
Return CType(Activator.CreateInstance(type), Item)
|
||||
End If
|
||||
Dim type = _itemBuffer.FirstOrDefault(Function(itemTypePair)
|
||||
Return itemTypePair.Key.Id = CInt(ID)
|
||||
End Function).Value
|
||||
If type IsNot Nothing Then
|
||||
Return CType(Activator.CreateInstance(type), Item)
|
||||
End If
|
||||
|
||||
End If
|
||||
Return Nothing
|
||||
End Function
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
Public Overrides ReadOnly Property CanBeUsedInBattle As Boolean = False
|
||||
Public Overrides ReadOnly Property CanBeTraded As Boolean = False
|
||||
Public Overrides ReadOnly Property CanBeTossed As Boolean = False
|
||||
Public Overrides ReadOnly Property CanBeHold As Boolean = False
|
||||
Public Overrides ReadOnly Property CanBeHeld As Boolean = False
|
||||
Public Overrides ReadOnly Property PokeDollarPrice As Integer = 9800
|
||||
|
||||
End Class
|
||||
|
|
|
@ -9,7 +9,7 @@ Namespace Items.Mail
|
|||
Public Overrides ReadOnly Property CanBeUsed As Boolean = False
|
||||
Public Overrides ReadOnly Property CanBeUsedInBattle As Boolean = False
|
||||
Public Overrides ReadOnly Property CanBeTraded As Boolean = False
|
||||
Public Overrides ReadOnly Property CanBeHold As Boolean = False
|
||||
Public Overrides ReadOnly Property CanBeHeld As Boolean = False
|
||||
Public Overrides ReadOnly Property CanBeTossed As Boolean = False
|
||||
|
||||
Public Sub New()
|
||||
|
|
|
@ -32,7 +32,7 @@ Namespace Items.Medicine
|
|||
Pokemon.Status = P3D.Pokemon.StatusProblems.None
|
||||
Pokemon.ChangeFriendShip(Pokemon.FriendShipCauses.HealPowder)
|
||||
|
||||
Core.Player.Inventory.RemoveItem(Me.ID, 1)
|
||||
Core.Player.Inventory.RemoveItem(Me.ID.ToString, 1)
|
||||
|
||||
Screen.TextBox.reDelay = 0.0F
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ Namespace Items.Medicine
|
|||
Pokemon.RemoveVolatileStatus(Pokemon.VolatileStatus.Confusion)
|
||||
End If
|
||||
|
||||
Core.Player.Inventory.RemoveItem(Me.ID, 1)
|
||||
Core.Player.Inventory.RemoveItem(Me.ID.ToString, 1)
|
||||
|
||||
Screen.TextBox.reDelay = 0.0F
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ Namespace Items.Medicine
|
|||
Public Overrides ReadOnly Property Description As String = "This mysterious candy sparkles when unwrapped. It attracts all sorts of Pokémon."
|
||||
Public Overrides ReadOnly Property PokeDollarPrice As Integer = 4800
|
||||
Public Overrides ReadOnly Property MaxStack As Integer = 1
|
||||
Public Overrides ReadOnly Property CanBeHold As Boolean = False
|
||||
Public Overrides ReadOnly Property CanBeHeld As Boolean = False
|
||||
Public Overrides ReadOnly Property PluralName As String = "Shiny Candies"
|
||||
|
||||
Public Sub New()
|
||||
|
|
|
@ -186,7 +186,7 @@ Namespace Items
|
|||
ElseIf Pokemon.Status = P3D.Pokemon.StatusProblems.Freeze Then
|
||||
Pokemon.Status = P3D.Pokemon.StatusProblems.None
|
||||
|
||||
Core.Player.Inventory.RemoveItem(Me.ID, 1)
|
||||
Core.Player.Inventory.RemoveItem(Me.ID.ToString, 1)
|
||||
|
||||
Screen.TextBox.reDelay = 0.0F
|
||||
|
||||
|
@ -225,7 +225,7 @@ Namespace Items
|
|||
ElseIf Pokemon.Status = P3D.Pokemon.StatusProblems.Paralyzed Then
|
||||
Pokemon.Status = P3D.Pokemon.StatusProblems.None
|
||||
|
||||
Core.Player.Inventory.RemoveItem(Me.ID, 1)
|
||||
Core.Player.Inventory.RemoveItem(Me.ID.ToString, 1)
|
||||
|
||||
Screen.TextBox.reDelay = 0.0F
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
Public CanTeachWhenGender As Boolean = False
|
||||
|
||||
Public Overrides ReadOnly Property CanBeUsedInBattle As Boolean = False
|
||||
Public Overrides ReadOnly Property CanBeHold As Boolean = False
|
||||
Public Overrides ReadOnly Property CanBeHeld As Boolean = False
|
||||
Public Overrides ReadOnly Property CanBeTraded As Boolean = True
|
||||
Public Overrides ReadOnly Property CanBeTossed As Boolean = True
|
||||
Public Overrides ReadOnly Property SortValue As Integer
|
||||
|
@ -106,12 +106,12 @@
|
|||
|
||||
If t = "" Then
|
||||
If p.Attacks.Count = 4 Then
|
||||
SetScreen(New LearnAttackScreen(CurrentScreen, p, a, ID))
|
||||
SetScreen(New LearnAttackScreen(CurrentScreen, p, a, ID.ToString))
|
||||
|
||||
Return True
|
||||
Else
|
||||
If IsTM = True AndAlso CBool(GameModeManager.GetGameRuleValue("SingleUseTM", "0")) = True Then
|
||||
Core.Player.Inventory.RemoveItem(ID, 1)
|
||||
Core.Player.Inventory.RemoveItem(ID.ToString, 1)
|
||||
End If
|
||||
p.Attacks.Add(BattleSystem.Attack.GetAttackByID(a.ID))
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ Public Class Pokemon
|
|||
Next
|
||||
|
||||
'ShinyCharm
|
||||
If Core.Player.Inventory.GetItemAmount(242) > 0 Then
|
||||
If Core.Player.Inventory.GetItemAmount(242.ToString) > 0 Then
|
||||
shinyRate = CInt(shinyRate * 0.25F)
|
||||
End If
|
||||
End If
|
||||
|
@ -568,7 +568,7 @@ Public Class Pokemon
|
|||
Public Machines As New List(Of Integer)
|
||||
Public PokedexEntry As PokedexEntry
|
||||
Public Cry As SoundEffect
|
||||
Public WildItems As New Dictionary(Of Integer, Integer)
|
||||
Public WildItems As New Dictionary(Of Integer, String)
|
||||
Public RegionalForms As String = ""
|
||||
|
||||
Private _name As String
|
||||
|
@ -896,7 +896,7 @@ Public Class Pokemon
|
|||
|
||||
Public Attacks As New List(Of BattleSystem.Attack)
|
||||
Public Ability As Ability
|
||||
Public CatchBall As Item = Item.GetItemByID(5)
|
||||
Public CatchBall As Item = Item.GetItemByID(5.ToString)
|
||||
|
||||
Private _experience As Integer
|
||||
Private _gender As Genders
|
||||
|
@ -1504,7 +1504,7 @@ Public Class Pokemon
|
|||
End If
|
||||
Case "item"
|
||||
Dim chance As Integer = CInt(Value.GetSplit(0))
|
||||
Dim itemID As Integer = CInt(Value.GetSplit(1))
|
||||
Dim itemID As String = Value.GetSplit(1)
|
||||
|
||||
If Not WildItems.ContainsKey(chance) Then
|
||||
WildItems.Add(chance, itemID)
|
||||
|
@ -1585,7 +1585,7 @@ Public Class Pokemon
|
|||
|
||||
Me.CatchTrainerName = Core.Player.Name
|
||||
Me.OT = Core.Player.OT
|
||||
Me.CatchBall = Item.GetItemByID(5)
|
||||
Me.CatchBall = Item.GetItemByID(5.ToString)
|
||||
|
||||
For i = 0 To Tags.Count - 1
|
||||
Dim tagName As String = Tags.Keys(i)
|
||||
|
@ -1611,7 +1611,7 @@ Public Class Pokemon
|
|||
Me.EggSteps = CInt(tagValue)
|
||||
Case "item"
|
||||
If StringHelper.IsNumeric(tagValue) Then
|
||||
Me.Item = Item.GetItemByID(CInt(tagValue))
|
||||
Me.Item = Item.GetItemByID(tagValue)
|
||||
End If
|
||||
Case "itemdata"
|
||||
If Not Me.Item Is Nothing Then
|
||||
|
@ -1656,7 +1656,7 @@ Public Class Pokemon
|
|||
Case "catchtrainer"
|
||||
Me.CatchTrainerName = tagValue
|
||||
Case "catchball"
|
||||
Me.CatchBall = Item.GetItemByID(CInt(tagValue))
|
||||
Me.CatchBall = Item.GetItemByID(tagValue)
|
||||
Case "catchmethod"
|
||||
Me.CatchMethod = tagValue
|
||||
Case "friendship"
|
||||
|
@ -1998,18 +1998,18 @@ Public Class Pokemon
|
|||
|
||||
If WildItems.Count > 0 Then
|
||||
Dim has100 As Boolean = False
|
||||
Dim ChosenItemID As Integer = 0
|
||||
Dim ChosenItemID As String = 0.ToString
|
||||
For i = 0 To WildItems.Count - 1
|
||||
If WildItems.Keys(i) = 100 Then
|
||||
has100 = True
|
||||
ChosenItemID = WildItems.Values(i)
|
||||
ChosenItemID = WildItems.Values(cint(i))
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
If has100 = True Then
|
||||
Me.Item = Item.GetItemByID(ChosenItemID)
|
||||
Else
|
||||
Dim usedWildItems As Dictionary(Of Integer, Integer) = Me.WildItems
|
||||
Dim usedWildItems As Dictionary(Of Integer, String) = Me.WildItems
|
||||
|
||||
'Compound eyes ability:
|
||||
If Core.Player.Pokemons.Count > 0 Then
|
||||
|
|
|
@ -23,11 +23,11 @@
|
|||
End Enum
|
||||
|
||||
Public Shared Function GetScriptString(ByVal p As Pokemon, ByVal cPosition As Vector3, ByVal facing As Integer) As String
|
||||
If PickupItemID > -1 Then
|
||||
If PickupItemID > CInt(-1).ToString Then
|
||||
If PickupIndividualValue = p.IndividualValue Then
|
||||
Return GenerateItemReaction(p, cPosition, facing)
|
||||
Else
|
||||
PickupItemID = -1
|
||||
PickupItemID = CInt(-1).ToString
|
||||
PickupIndividualValue = ""
|
||||
End If
|
||||
End If
|
||||
|
@ -139,7 +139,7 @@
|
|||
End If
|
||||
s &= ":end"
|
||||
|
||||
PickupItemID = -1
|
||||
PickupItemID = CInt(-1).ToString
|
||||
PickupIndividualValue = ""
|
||||
|
||||
Return s
|
||||
|
@ -873,7 +873,7 @@
|
|||
End Class
|
||||
|
||||
Shared PickupIndividualValue As String = "" 'This value holds the individual value of the Pokémon that picked up the item.
|
||||
Shared PickupItemID As Integer = -1 'This is the Item ID of the item that the Pokémon picked up. -1 means no item got picked up.
|
||||
Shared PickupItemID As String = CInt(-1).ToString 'This is the Item ID of the item that the Pokémon picked up. -1 means no item got picked up.
|
||||
|
||||
Public Shared Sub CheckForRandomPickup()
|
||||
'Checks if the first Pokémon in the party is following the player:
|
||||
|
@ -883,7 +883,7 @@
|
|||
If Core.Player.GetWalkPokemon().Status = Pokemon.StatusProblems.None Then
|
||||
'If the player switched the Pokémon, reset the item ID.
|
||||
If PickupIndividualValue <> Core.Player.GetWalkPokemon().IndividualValue Then
|
||||
PickupItemID = -1
|
||||
PickupItemID = CInt(-1).ToString
|
||||
End If
|
||||
|
||||
'Check if an item should be generated:
|
||||
|
@ -1044,8 +1044,8 @@
|
|||
|
||||
'If an item got generated, assign it to the global value to store it until the player interacts with the Pokémon. Also store the individual value.
|
||||
If newItemID > -1 Then
|
||||
Logger.Debug("Pokémon picks up item (" & Item.GetItemByID(newItemID).Name & ")")
|
||||
PickupItemID = newItemID
|
||||
Logger.Debug("Pokémon picks up item (" & Item.GetItemByID(newItemID.ToString).Name & ")")
|
||||
PickupItemID = newItemID.ToString
|
||||
PickupIndividualValue = Core.Player.GetWalkPokemon().IndividualValue
|
||||
SoundManager.PlaySound("pickup")
|
||||
End If
|
||||
|
@ -1053,7 +1053,7 @@
|
|||
End If
|
||||
Else
|
||||
'Reset the system if no Pokémon:
|
||||
PickupItemID = -1
|
||||
PickupItemID = CInt(-1).ToString
|
||||
PickupIndividualValue = ""
|
||||
End If
|
||||
End If
|
||||
|
|
|
@ -45,7 +45,7 @@ Public Class Shedinja
|
|||
Public Shared Function CanEvolveInto(ByVal EvolvedPokemon As Pokemon, ByVal Trigger As EvolutionCondition.EvolutionTrigger) As Boolean
|
||||
If EvolvedPokemon.Number = 291 And Trigger = EvolutionCondition.EvolutionTrigger.LevelUp Then
|
||||
If Core.Player.Pokemons.Count < 6 Then
|
||||
If Core.Player.Inventory.GetItemAmount(5) > 0 Then
|
||||
If Core.Player.Inventory.GetItemAmount(5.ToString) > 0 Then
|
||||
Return True
|
||||
End If
|
||||
End If
|
||||
|
|
|
@ -53,12 +53,12 @@
|
|||
SetStats(p, Stats(0), Stats(1), pokemon_class)
|
||||
|
||||
If ItemID <> "" Then
|
||||
p.Item = Item.GetItemByID(CInt(ItemID))
|
||||
p.Item = Item.GetItemByID(ItemID)
|
||||
End If
|
||||
If p.Item Is Nothing Then
|
||||
Dim items() As Integer = {146, 2009, 119, 140, 73, 74}
|
||||
|
||||
p.Item = Item.GetItemByID(items(Core.Random.Next(0, items.Length)))
|
||||
p.Item = Item.GetItemByID(items(Core.Random.Next(0, items.Length)).ToString)
|
||||
End If
|
||||
|
||||
p.FullRestore()
|
||||
|
@ -74,7 +74,7 @@
|
|||
If Not p.Item Is Nothing Then
|
||||
Dim items() As Integer = {146, 2009, 119, 140, 73, 74}
|
||||
|
||||
p.Item = Item.GetItemByID(items(Core.Random.Next(0, items.Length)))
|
||||
p.Item = Item.GetItemByID(items(Core.Random.Next(0, items.Length)).ToString)
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
|
|
@ -151,7 +151,7 @@
|
|||
|
||||
Public Overrides Sub ChangeTo()
|
||||
MusicManager.PlayNoMusic()
|
||||
Core.Player.Inventory.RemoveItem(177) ' Remove all Park Balls (happens regardless of whether or not the player was currently in the Bug-Catching Contest).
|
||||
Core.Player.Inventory.RemoveItem(177.ToString) ' Remove all Park Balls (happens regardless of whether or not the player was currently in the Bug-Catching Contest).
|
||||
PlayerStatistics.Track("Blackouts", 1)
|
||||
End Sub
|
||||
|
||||
|
|
|
@ -62,13 +62,13 @@
|
|||
Dim T As Texture2D = TextureManager.GetTexture("Items\ItemSheet")
|
||||
|
||||
Me.Labels.Add(New Label(Localization.GetString("apricorn_screen_choose_apricorns"), New Vector2(100, 200), FontManager.MainFont))
|
||||
Dim RedApricorn As ButtonIcon = New ButtonIcon(AddressOf Me.GiveApricorn, "0 / " & Core.Player.Inventory.GetItemAmount(85), FontManager.MainFont, T, New Rectangle(240, 72, 24, 24), New Vector2(98, 240), New Size(48, 48), "85")
|
||||
Dim BlueApricorn As ButtonIcon = New ButtonIcon(AddressOf Me.GiveApricorn, "0 / " & Core.Player.Inventory.GetItemAmount(89), FontManager.MainFont, T, New Rectangle(336, 72, 24, 24), New Vector2(98, 304), New Size(48, 48), "89")
|
||||
Dim YellowApricorn As ButtonIcon = New ButtonIcon(AddressOf Me.GiveApricorn, "0 / " & Core.Player.Inventory.GetItemAmount(92), FontManager.MainFont, T, New Rectangle(384, 72, 24, 24), New Vector2(98, 368), New Size(48, 48), "92")
|
||||
Dim GreenApricorn As ButtonIcon = New ButtonIcon(AddressOf Me.GiveApricorn, "0 / " & Core.Player.Inventory.GetItemAmount(93), FontManager.MainFont, T, New Rectangle(408, 72, 24, 24), New Vector2(98, 432), New Size(48, 48), "93")
|
||||
Dim WhiteApricorn As ButtonIcon = New ButtonIcon(AddressOf Me.GiveApricorn, "0 / " & Core.Player.Inventory.GetItemAmount(97), FontManager.MainFont, T, New Rectangle(0, 96, 24, 24), New Vector2(98, 496), New Size(48, 48), "97")
|
||||
Dim BlackApricorn As ButtonIcon = New ButtonIcon(AddressOf Me.GiveApricorn, "0 / " & Core.Player.Inventory.GetItemAmount(99), FontManager.MainFont, T, New Rectangle(48, 96, 24, 24), New Vector2(162, 240), New Size(48, 48), "99")
|
||||
Dim PinkApricorn As ButtonIcon = New ButtonIcon(AddressOf Me.GiveApricorn, "0 / " & Core.Player.Inventory.GetItemAmount(101), FontManager.MainFont, T, New Rectangle(72, 96, 24, 24), New Vector2(162, 304), New Size(48, 48), "101")
|
||||
Dim RedApricorn As ButtonIcon = New ButtonIcon(AddressOf Me.GiveApricorn, "0 / " & Core.Player.Inventory.GetItemAmount(85.ToString), FontManager.MainFont, T, New Rectangle(240, 72, 24, 24), New Vector2(98, 240), New Size(48, 48), "85")
|
||||
Dim BlueApricorn As ButtonIcon = New ButtonIcon(AddressOf Me.GiveApricorn, "0 / " & Core.Player.Inventory.GetItemAmount(89.ToString), FontManager.MainFont, T, New Rectangle(336, 72, 24, 24), New Vector2(98, 304), New Size(48, 48), "89")
|
||||
Dim YellowApricorn As ButtonIcon = New ButtonIcon(AddressOf Me.GiveApricorn, "0 / " & Core.Player.Inventory.GetItemAmount(92.ToString), FontManager.MainFont, T, New Rectangle(384, 72, 24, 24), New Vector2(98, 368), New Size(48, 48), "92")
|
||||
Dim GreenApricorn As ButtonIcon = New ButtonIcon(AddressOf Me.GiveApricorn, "0 / " & Core.Player.Inventory.GetItemAmount(93.ToString), FontManager.MainFont, T, New Rectangle(408, 72, 24, 24), New Vector2(98, 432), New Size(48, 48), "93")
|
||||
Dim WhiteApricorn As ButtonIcon = New ButtonIcon(AddressOf Me.GiveApricorn, "0 / " & Core.Player.Inventory.GetItemAmount(97.ToString), FontManager.MainFont, T, New Rectangle(0, 96, 24, 24), New Vector2(98, 496), New Size(48, 48), "97")
|
||||
Dim BlackApricorn As ButtonIcon = New ButtonIcon(AddressOf Me.GiveApricorn, "0 / " & Core.Player.Inventory.GetItemAmount(99.ToString), FontManager.MainFont, T, New Rectangle(48, 96, 24, 24), New Vector2(162, 240), New Size(48, 48), "99")
|
||||
Dim PinkApricorn As ButtonIcon = New ButtonIcon(AddressOf Me.GiveApricorn, "0 / " & Core.Player.Inventory.GetItemAmount(101.ToString), FontManager.MainFont, T, New Rectangle(72, 96, 24, 24), New Vector2(162, 304), New Size(48, 48), "101")
|
||||
|
||||
Dim GiveButton As ButtonIcon = New ButtonIcon(AddressOf Me.Give, Localization.GetString("apricorn_screen_ok"), FontManager.MainFont, mainTexture, New Rectangle(48, 128, 16, 16), New Vector2(162, 496), New Size(48, 48), "OK")
|
||||
GiveButton.Enabled = False
|
||||
|
@ -206,7 +206,7 @@
|
|||
ItemID = 166
|
||||
End Select
|
||||
|
||||
Dim Item As Item = Item.GetItemByID(ItemID)
|
||||
Dim Item As Item = Item.GetItemByID(ItemID.ToString)
|
||||
Core.SpriteBatch.Draw(Item.Texture, New Rectangle(100 + x * 64, 260 + y * 96, 48, 48), Color.White)
|
||||
Core.SpriteBatch.DrawString(FontManager.MainFont, "x" & Apricorns(i), New Vector2(110 + x * 64, 300 + y * 96), Color.Black)
|
||||
Next
|
||||
|
@ -236,7 +236,7 @@
|
|||
apricornID = 6
|
||||
End Select
|
||||
|
||||
If Core.Player.Inventory.GetItemAmount(CInt(b.AdditionalValue)) > CInt(Me.Apricorns(apricornID)) Then
|
||||
If Core.Player.Inventory.GetItemAmount(b.AdditionalValue) > CInt(Me.Apricorns(apricornID)) Then
|
||||
Me.Apricorns(apricornID) = CStr(CInt(Me.Apricorns(apricornID)) + 1)
|
||||
|
||||
If HasApricorns() = True Then
|
||||
|
@ -273,7 +273,7 @@
|
|||
apricornID = 6
|
||||
End Select
|
||||
|
||||
b.Text = Me.Apricorns(apricornID) & " / " & Core.Player.Inventory.GetItemAmount(CInt(b.AdditionalValue))
|
||||
b.Text = Me.Apricorns(apricornID) & " / " & Core.Player.Inventory.GetItemAmount(b.AdditionalValue)
|
||||
End If
|
||||
Next
|
||||
End Sub
|
||||
|
@ -287,13 +287,13 @@
|
|||
Private Sub Give()
|
||||
Me.State = States.Wait
|
||||
|
||||
Core.Player.Inventory.RemoveItem(85, CInt(Me.Apricorns(0)))
|
||||
Core.Player.Inventory.RemoveItem(89, CInt(Me.Apricorns(1)))
|
||||
Core.Player.Inventory.RemoveItem(92, CInt(Me.Apricorns(2)))
|
||||
Core.Player.Inventory.RemoveItem(93, CInt(Me.Apricorns(3)))
|
||||
Core.Player.Inventory.RemoveItem(97, CInt(Me.Apricorns(4)))
|
||||
Core.Player.Inventory.RemoveItem(99, CInt(Me.Apricorns(5)))
|
||||
Core.Player.Inventory.RemoveItem(101, CInt(Me.Apricorns(6)))
|
||||
Core.Player.Inventory.RemoveItem(85.ToString, CInt(Me.Apricorns(0)))
|
||||
Core.Player.Inventory.RemoveItem(89.ToString, CInt(Me.Apricorns(1)))
|
||||
Core.Player.Inventory.RemoveItem(92.ToString, CInt(Me.Apricorns(2)))
|
||||
Core.Player.Inventory.RemoveItem(93.ToString, CInt(Me.Apricorns(3)))
|
||||
Core.Player.Inventory.RemoveItem(97.ToString, CInt(Me.Apricorns(4)))
|
||||
Core.Player.Inventory.RemoveItem(99.ToString, CInt(Me.Apricorns(5)))
|
||||
Core.Player.Inventory.RemoveItem(101.ToString, CInt(Me.Apricorns(6)))
|
||||
|
||||
Dim d As Date = Date.Now
|
||||
|
||||
|
@ -320,32 +320,32 @@
|
|||
Dim text As String = Core.Player.Name & Localization.GetString("apricorn_screen_obtain")
|
||||
|
||||
If CInt(Apricorns(0)) > 0 Then
|
||||
Core.Player.Inventory.AddItem(159, CInt(Apricorns(0)))
|
||||
text &= "~" & Apricorns(0) & " " & Item.GetItemByID(159).Name
|
||||
Core.Player.Inventory.AddItem(159.ToString, CInt(Apricorns(0)))
|
||||
text &= "~" & Apricorns(0) & " " & Item.GetItemByID(159.ToString).Name
|
||||
End If
|
||||
If CInt(Apricorns(1)) > 0 Then
|
||||
Core.Player.Inventory.AddItem(160, CInt(Apricorns(1)))
|
||||
text &= ",~" & Apricorns(1) & " " & Item.GetItemByID(160).Name
|
||||
Core.Player.Inventory.AddItem(160.ToString, CInt(Apricorns(1)))
|
||||
text &= ",~" & Apricorns(1) & " " & Item.GetItemByID(160.ToString).Name
|
||||
End If
|
||||
If CInt(Apricorns(2)) > 0 Then
|
||||
Core.Player.Inventory.AddItem(165, CInt(Apricorns(2)))
|
||||
text &= ",~" & Apricorns(2) & " " & Item.GetItemByID(165).Name
|
||||
Core.Player.Inventory.AddItem(165.ToString, CInt(Apricorns(2)))
|
||||
text &= ",~" & Apricorns(2) & " " & Item.GetItemByID(165.ToString).Name
|
||||
End If
|
||||
If CInt(Apricorns(3)) > 0 Then
|
||||
Core.Player.Inventory.AddItem(164, CInt(Apricorns(3)))
|
||||
text &= ",~" & Apricorns(3) & " " & Item.GetItemByID(164).Name
|
||||
Core.Player.Inventory.AddItem(164.ToString, CInt(Apricorns(3)))
|
||||
text &= ",~" & Apricorns(3) & " " & Item.GetItemByID(164.ToString).Name
|
||||
End If
|
||||
If CInt(Apricorns(4)) > 0 Then
|
||||
Core.Player.Inventory.AddItem(161, CInt(Apricorns(4)))
|
||||
text &= ",~" & Apricorns(4) & " " & Item.GetItemByID(161).Name
|
||||
Core.Player.Inventory.AddItem(161.ToString, CInt(Apricorns(4)))
|
||||
text &= ",~" & Apricorns(4) & " " & Item.GetItemByID(161.ToString).Name
|
||||
End If
|
||||
If CInt(Apricorns(5)) > 0 Then
|
||||
Core.Player.Inventory.AddItem(157, CInt(Apricorns(5)))
|
||||
text &= ",~" & Apricorns(5) & " " & Item.GetItemByID(157).Name
|
||||
Core.Player.Inventory.AddItem(157.ToString, CInt(Apricorns(5)))
|
||||
text &= ",~" & Apricorns(5) & " " & Item.GetItemByID(157.ToString).Name
|
||||
End If
|
||||
If CInt(Apricorns(6)) > 0 Then
|
||||
Core.Player.Inventory.AddItem(166, CInt(Apricorns(6)))
|
||||
text &= ",~" & Apricorns(6) & " " & Item.GetItemByID(166).Name
|
||||
Core.Player.Inventory.AddItem(166.ToString, CInt(Apricorns(6)))
|
||||
text &= ",~" & Apricorns(6) & " " & Item.GetItemByID(166.ToString).Name
|
||||
End If
|
||||
|
||||
text &= "."
|
||||
|
|
|
@ -536,7 +536,13 @@ Public Class NewInventoryScreen
|
|||
Dim CanvasTexture As Texture2D
|
||||
CanvasTexture = TextureManager.GetTexture(TextureManager.GetTexture("GUI\Menus\Menu"), New Rectangle(0, 0, 48, 48))
|
||||
|
||||
Dim trashText As String = _tossValue & "/" & Core.Player.Inventory.GetItemAmount(cItem.ID)
|
||||
Dim ItemID As String
|
||||
If cItem.IsGameModeItem = True Then
|
||||
ItemID = cItem.gmID
|
||||
Else
|
||||
ItemID = cItem.ID.ToString
|
||||
End If
|
||||
Dim trashText As String = _tossValue & "/" & Core.Player.Inventory.GetItemAmount(ItemID)
|
||||
Dim offsetX As Integer = 100
|
||||
Dim offsetY As Integer = Core.windowSize.Height - 390
|
||||
|
||||
|
@ -694,12 +700,18 @@ Public Class NewInventoryScreen
|
|||
_tossValue -= 1
|
||||
End If
|
||||
|
||||
_tossValue = CInt(MathHelper.Clamp(_tossValue, 1, Core.Player.Inventory.GetItemAmount(cItem.ID)))
|
||||
Dim ItemID As String
|
||||
If cItem.IsGameModeItem = True Then
|
||||
ItemID = cItem.gmID
|
||||
Else
|
||||
ItemID = cItem.ID.ToString
|
||||
End If
|
||||
_tossValue = CInt(MathHelper.Clamp(_tossValue, 1, Core.Player.Inventory.GetItemAmount(ItemID)))
|
||||
|
||||
If Not TextBox.Showing Then
|
||||
If Controls.Accept Then
|
||||
SoundManager.PlaySound("select")
|
||||
Core.Player.Inventory.RemoveItem(cItem.ID, _tossValue)
|
||||
Core.Player.Inventory.RemoveItem(ItemID, _tossValue)
|
||||
LoadItems()
|
||||
_tossingItems = False
|
||||
ElseIf Controls.Dismiss Then
|
||||
|
@ -949,15 +961,28 @@ Public Class NewInventoryScreen
|
|||
Dim Pokemon As Pokemon = Core.Player.Pokemons(PokeIndex)
|
||||
|
||||
If Pokemon.IsEgg() = False Then
|
||||
Core.Player.Inventory.RemoveItem(cItem.ID, 1)
|
||||
Dim ItemID As String
|
||||
If cItem.IsGameModeItem = True Then
|
||||
ItemID = cItem.gmID
|
||||
Else
|
||||
ItemID = cItem.ID.ToString
|
||||
End If
|
||||
|
||||
Core.Player.Inventory.RemoveItem(ItemID, 1)
|
||||
|
||||
Dim reItem As Item = Nothing
|
||||
If Not Pokemon.Item Is Nothing Then
|
||||
Dim ReItemID As String
|
||||
If cItem.IsGameModeItem = True Then
|
||||
ReItemID = cItem.gmID
|
||||
Else
|
||||
ReItemID = cItem.ID.ToString
|
||||
End If
|
||||
reItem = Pokemon.Item
|
||||
Core.Player.Inventory.AddItem(reItem.ID, 1)
|
||||
Core.Player.Inventory.AddItem(ReItemID, 1)
|
||||
End If
|
||||
|
||||
Pokemon.Item = Item.GetItemByID(cItem.ID)
|
||||
Pokemon.Item = Item.GetItemByID(ItemID)
|
||||
|
||||
If reItem Is Nothing Then
|
||||
'JSON Stuff
|
||||
|
@ -1101,7 +1126,7 @@ Public Class NewInventoryScreen
|
|||
_infoItemOptions.Add("Use")
|
||||
_infoItemOptionsNormal.Add(INFO_ITEM_OPTION_USE)
|
||||
End If
|
||||
If cItem.CanBeHold Then
|
||||
If cItem.CanBeHeld Then
|
||||
'JSON Stuff
|
||||
' _infoItemOptions.Add(_translation.INFO_ITEM_OPTION_GIVE)
|
||||
_infoItemOptions.Add("Give")
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
Next
|
||||
|
||||
BattleSystem.GameModeAttackLoader.Load()
|
||||
GameModeItemLoader.Load()
|
||||
|
||||
SmashRock.Load()
|
||||
Badge.Load()
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
End If
|
||||
|
||||
If Screen.Level.IsBugCatchingContest = True Then
|
||||
_menuOptions.AddRange({Screen.Level.BugCatchingContestData.GetSplit(2) & " x" & Core.Player.Inventory.GetItemAmount(177),
|
||||
_menuOptions.AddRange({Screen.Level.BugCatchingContestData.GetSplit(2) & " x" & Core.Player.Inventory.GetItemAmount(177.ToString),
|
||||
"Bag",
|
||||
"|||" & Core.Player.Name, 'Trainer card
|
||||
"End Contest"})
|
||||
|
@ -307,7 +307,7 @@
|
|||
Core.SetScreen(New NewOptionScreen(Me))
|
||||
Case "Exit"
|
||||
Core.SetScreen(PreScreen)
|
||||
Case Screen.Level.BugCatchingContestData.GetSplit(2) & " x" & Core.Player.Inventory.GetItemAmount(177)
|
||||
Case Screen.Level.BugCatchingContestData.GetSplit(2) & " x" & Core.Player.Inventory.GetItemAmount(177.ToString)
|
||||
Me.ShowBalls()
|
||||
Case "End Contest"
|
||||
Me.EndContest()
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
Canvas.DrawImageBorder(TextureManager.GetTexture("GUI\Menus\Menu", New Rectangle(x, y, 48, 48), ""), 1, New Rectangle(CInt(P.X), CInt(P.Y), 288, 32))
|
||||
Core.SpriteBatch.DrawString(FontManager.MiniFont, "Write new mail.", New Vector2(CInt(P.X) + 13, CInt(P.Y) + 14), Color.Black)
|
||||
Else
|
||||
Dim item As Item = Item.GetItemByID(mail.MailID)
|
||||
Dim item As Item = Item.GetItemByID(mail.MailID.ToString)
|
||||
|
||||
Dim x As Integer = 0
|
||||
Dim y As Integer = 0
|
||||
|
@ -101,7 +101,7 @@
|
|||
Private Sub DrawCurrentMail()
|
||||
If index = 0 Then
|
||||
Dim mail As Items.MailItem.MailData = TempNewMail
|
||||
Dim item As Item = Item.GetItemByID(mail.MailID)
|
||||
Dim item As Item = Item.GetItemByID(mail.MailID.ToString)
|
||||
|
||||
Core.SpriteBatch.Draw(item.Texture, New Rectangle(420, 84, 48, 48), Color.White)
|
||||
|
||||
|
@ -154,7 +154,7 @@
|
|||
Core.SpriteBatch.DrawString(FontManager.MiniFont, "Cancel", New Vector2(696, yPlus + 334), Color.Black)
|
||||
Else
|
||||
Dim mail As Items.MailItem.MailData = Core.Player.Mails(index - 1)
|
||||
Dim item As Item = Item.GetItemByID(mail.MailID)
|
||||
Dim item As Item = Item.GetItemByID(mail.MailID.ToString)
|
||||
|
||||
Core.SpriteBatch.Draw(item.Texture, New Rectangle(420, 84, 48, 48), Color.White)
|
||||
|
||||
|
@ -281,7 +281,7 @@
|
|||
If TempNewMail.MailHeader = "" Or TempNewMail.MailText = "" Or TempNewMail.MailSignature = "" Then
|
||||
message = "Please fill in the Header, the Message and the Signature."
|
||||
Else
|
||||
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}
|
||||
Dim selScreen = New PartyScreen(Me, Item.GetItemByID(TempNewMail.MailID.ToString), AddressOf Me.ChosenPokemon, "Give mail to:", True) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = True}
|
||||
AddHandler selScreen.SelectedObject, AddressOf ChosenPokemonHandler
|
||||
|
||||
Core.SetScreen(selScreen)
|
||||
|
@ -322,13 +322,18 @@
|
|||
|
||||
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)
|
||||
If Core.Player.Pokemons(PokeIndex).Item.IsGameModeItem Then
|
||||
Core.Player.Inventory.AddItem(Core.Player.Pokemons(PokeIndex).Item.gmID, 1)
|
||||
Else
|
||||
Core.Player.Inventory.AddItem(Core.Player.Pokemons(PokeIndex).Item.ID.ToString, 1)
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
Core.Player.Pokemons(PokeIndex).Item = Item.GetItemByID(TempNewMail.MailID)
|
||||
Core.Player.Pokemons(PokeIndex).Item = Item.GetItemByID(TempNewMail.MailID.ToString)
|
||||
Core.Player.Pokemons(PokeIndex).Item.AdditionalData = Items.MailItem.GetStringFromMail(TempNewMail)
|
||||
|
||||
Core.Player.Inventory.RemoveItem(TempNewMail.MailID, 1)
|
||||
Core.Player.Inventory.RemoveItem(TempNewMail.MailID.ToString, 1)
|
||||
Me.index = -1
|
||||
|
||||
Me.message = "Attached the Mail to " & Core.Player.Pokemons(PokeIndex).GetDisplayName() & "."
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
|
||||
p.Generate(1, True, OptionalAdditionalData)
|
||||
p.EggSteps = 1
|
||||
p.SetCatchInfos(Item.GetItemByID(5), "obtained at")
|
||||
p.SetCatchInfos(Item.GetItemByID(5.ToString), "obtained at")
|
||||
p.CatchBall = Item.GetItemByID(GetEggPokeballID({parent1, parent2}.ToList()))
|
||||
|
||||
p.ReloadDefinitions()
|
||||
|
@ -473,7 +473,7 @@
|
|||
End If
|
||||
|
||||
If chance > 0 And multiplier = True Then
|
||||
If Core.Player.Inventory.GetItemAmount(241) > 0 Then
|
||||
If Core.Player.Inventory.GetItemAmount(241.ToString) > 0 Then
|
||||
chance = CInt(chance * 1.3F)
|
||||
End If
|
||||
End If
|
||||
|
@ -526,42 +526,56 @@
|
|||
Return 0
|
||||
End Function
|
||||
|
||||
Private Shared Function GetEggPokeballID(ByVal Pokemon As List(Of Pokemon)) As Integer
|
||||
Dim ballID As Integer = 5
|
||||
Private Shared Function GetEggPokeballID(ByVal Pokemon As List(Of Pokemon)) As String
|
||||
Dim ballID As String = 5.ToString
|
||||
|
||||
If Pokemon.Count = 2 Then
|
||||
|
||||
Dim p1 As Pokemon = Pokemon(0)
|
||||
Dim p2 As Pokemon = Pokemon(1)
|
||||
|
||||
Dim CatchBallID1 As String
|
||||
Dim CatchBallID2 As String
|
||||
If p1.CatchBall.IsGameModeItem Then
|
||||
CatchBallID1 = p1.CatchBall.gmID
|
||||
Else
|
||||
CatchBallID1 = p1.CatchBall.ID.ToString
|
||||
End If
|
||||
If p2.CatchBall.IsGameModeItem Then
|
||||
CatchBallID2 = p2.CatchBall.gmID
|
||||
Else
|
||||
CatchBallID2 = p2.CatchBall.ID.ToString
|
||||
End If
|
||||
|
||||
' First Pokémon is Ditto:
|
||||
If p1.EggGroup1 = P3D.Pokemon.EggGroups.Ditto Or p1.EggGroup2 = P3D.Pokemon.EggGroups.Ditto Then
|
||||
' If the first Pokémon is Ditto, then the other Pokémon must be female to inherit the Poké Ball.
|
||||
If p2.Gender = P3D.Pokemon.Genders.Female Then
|
||||
ballID = p2.CatchBall.ID
|
||||
ballID = CatchBallID2
|
||||
End If
|
||||
End If
|
||||
'Second Pokémon is Ditto.
|
||||
If p2.EggGroup1 = P3D.Pokemon.EggGroups.Ditto Or p2.EggGroup2 = P3D.Pokemon.EggGroups.Ditto Then
|
||||
'If the second Pokémon is Ditto, then the other Pokémon must be female to inherit the Poké Ball.
|
||||
If p1.Gender = P3D.Pokemon.Genders.Female Then
|
||||
ballID = p1.CatchBall.ID
|
||||
ballID = CatchBallID1
|
||||
End If
|
||||
End If
|
||||
' No Pokémon is Ditto:
|
||||
If p1.EggGroup1 <> P3D.Pokemon.EggGroups.Ditto And p1.EggGroup2 <> P3D.Pokemon.EggGroups.Ditto And p2.EggGroup1 <> P3D.Pokemon.EggGroups.Ditto And p2.EggGroup2 <> P3D.Pokemon.EggGroups.Ditto Then
|
||||
' First Pokémon is female:
|
||||
If p1.Gender = P3D.Pokemon.Genders.Female Then
|
||||
ballID = p1.CatchBall.ID
|
||||
ballID = CatchBallID1
|
||||
End If
|
||||
' Second Pokémon is female:
|
||||
If p2.Gender = P3D.Pokemon.Genders.Female Then
|
||||
ballID = p2.CatchBall.ID
|
||||
ballID = CatchBallID2
|
||||
End If
|
||||
End If
|
||||
|
||||
' Check for: Master Ball, Cherish Ball: Set to Poké Ball
|
||||
If ballID = 1 Or ballID = 45 Then
|
||||
ballID = 5
|
||||
If ballID = 1.ToString Or ballID = 45.ToString Then
|
||||
ballID = 5.ToString
|
||||
End If
|
||||
End If
|
||||
|
||||
|
|
|
@ -304,7 +304,7 @@
|
|||
' Nincada's evolution to Shedinja if a Poké Ball is in the player's Bag and free space is available in the player's party:
|
||||
If Shedinja.CanEvolveInto(Me.evolvedPokemon, Me.EvolutionTrigger) = True Then
|
||||
Core.Player.Pokemons.Add(Shedinja.GenerateNew(evolvedPokemon))
|
||||
Core.Player.Inventory.RemoveItem(5, 1)
|
||||
Core.Player.Inventory.RemoveItem(5.ToString, 1)
|
||||
End If
|
||||
|
||||
Core.Player.Pokemons(PokeList(0)) = evolvedPokemon
|
||||
|
|
|
@ -13,15 +13,15 @@
|
|||
Dim AttackPos As Single = 320.0F
|
||||
|
||||
Dim canForget As Boolean = True
|
||||
Dim MachineItemID As Integer = -1
|
||||
Dim MachineItemID As String = CInt(-1).ToString
|
||||
|
||||
Dim currentCharIndex As Integer = 0
|
||||
|
||||
Public Sub New(ByVal currentScreen As Screen, ByVal Pokemon As Pokemon, ByVal newAttack As BattleSystem.Attack)
|
||||
Me.New(currentScreen, Pokemon, newAttack, -1)
|
||||
Me.New(currentScreen, Pokemon, newAttack, CInt(-1).ToString)
|
||||
End Sub
|
||||
|
||||
Public Sub New(ByVal currentScreen As Screen, ByVal Pokemon As Pokemon, ByVal newAttack As BattleSystem.Attack, ByVal MachineItemID As Integer)
|
||||
Public Sub New(ByVal currentScreen As Screen, ByVal Pokemon As Pokemon, ByVal newAttack As BattleSystem.Attack, ByVal MachineItemID As String)
|
||||
Me.Identification = Identifications.LearnAttackScreen
|
||||
|
||||
Me.PreScreen = currentScreen
|
||||
|
@ -261,7 +261,7 @@
|
|||
Pokemon.Attacks.RemoveAt(AttackIndex)
|
||||
Pokemon.Attacks.Insert(AttackIndex, newAttack)
|
||||
|
||||
If Me.MachineItemID > -1 Then
|
||||
If Me.MachineItemID <> CInt(-1).ToString Then
|
||||
PlayerStatistics.Track("TMs/HMs used", 1)
|
||||
If CBool(GameModeManager.GetGameRuleValue("SingleUseTM", "0")) = True Then
|
||||
Dim TechMachine As Item = Item.GetItemByID(Me.MachineItemID)
|
||||
|
|
|
@ -763,9 +763,14 @@ Public Class PartyScreen
|
|||
|
||||
p.Item = Nothing
|
||||
Else
|
||||
ShowMessage("Taken " & p.Item.Name & " from " & p.GetDisplayName() & ".")
|
||||
|
||||
Core.Player.Inventory.AddItem(p.Item.ID, 1)
|
||||
ShowMessage("Taken " & p.Item.Name & " from " & p.GetDisplayName() & ".")
|
||||
Dim ItemID As String
|
||||
If p.Item.IsGameModeItem Then
|
||||
ItemID = p.Item.gmID
|
||||
Else
|
||||
ItemID = p.Item.ID.ToString
|
||||
End If
|
||||
Core.Player.Inventory.AddItem(ItemID, 1)
|
||||
p.Item = Nothing
|
||||
End If
|
||||
Case "Back"
|
||||
|
@ -777,13 +782,13 @@ Public Class PartyScreen
|
|||
''' A handler method to convert the incoming object array.
|
||||
''' </summary>
|
||||
Private Sub GiveItemHandler(ByVal params As Object())
|
||||
GiveItem(CInt(params(0)))
|
||||
GiveItem(params(0).ToString)
|
||||
End Sub
|
||||
|
||||
Private Sub GiveItem(ByVal itemID As Integer)
|
||||
Private Sub GiveItem(ByVal itemID As String)
|
||||
Dim i As Item = Item.GetItemByID(itemID)
|
||||
|
||||
If i.CanBeHold Then
|
||||
If i.CanBeHeld Then
|
||||
Dim p As Pokemon = PokemonList(_index)
|
||||
|
||||
Core.Player.Inventory.RemoveItem(itemID, 1)
|
||||
|
@ -797,7 +802,13 @@ Public Class PartyScreen
|
|||
|
||||
message = "Gave " & i.Name & " to " & p.GetDisplayName() & " and took the Mail to the PC."
|
||||
Else
|
||||
Core.Player.Inventory.AddItem(reItem.ID, 1)
|
||||
Dim ReItemID As String
|
||||
If reItem.IsGameModeItem Then
|
||||
ReItemID = reItem.gmID
|
||||
Else
|
||||
ReItemID = reItem.ID.ToString
|
||||
End If
|
||||
Core.Player.Inventory.AddItem(ReItemID, 1)
|
||||
|
||||
message = "Switched " & p.GetDisplayName() & "'s " & i.Name & " with a " & reItem.Name & "."
|
||||
End If
|
||||
|
|
|
@ -70,7 +70,7 @@
|
|||
Dim value As Integer = Me.Statistics.Values(i)
|
||||
|
||||
If ItemID <> "" Then
|
||||
Dim Item As Item = Item.GetItemByID(CInt(ItemID))
|
||||
Dim Item As Item = Item.GetItemByID(ItemID)
|
||||
Core.SpriteBatch.Draw(Item.Texture, New Rectangle(CInt(140), CInt(152 + i * 50 + Scroll), 48, 48), Color.White)
|
||||
End If
|
||||
|
||||
|
|
|
@ -88,7 +88,7 @@ Public Class TradeScreen
|
|||
''' <param name="ItemID">The ID of the Item.</param>
|
||||
''' <param name="Price">The Price of the Item. Leave -1 for automatic Price.</param>
|
||||
''' <param name="Amount">The Amount of the Item available in the store. Leave -1 for infinite.</param>
|
||||
Public Sub New(ByVal ItemID As Integer, ByVal Amount As Integer, ByVal Price As Integer, ByVal Currency As Currencies)
|
||||
Public Sub New(ByVal ItemID As String, ByVal Amount As Integer, ByVal Price As Integer, ByVal Currency As Currencies)
|
||||
Me.ItemID = ItemID
|
||||
Me.Amount = Amount
|
||||
|
||||
|
@ -105,7 +105,7 @@ Public Class TradeScreen
|
|||
End If
|
||||
End Sub
|
||||
|
||||
Public ItemID As Integer
|
||||
Public ItemID As String
|
||||
Public Price As Integer
|
||||
Public Amount As Integer
|
||||
|
||||
|
@ -148,7 +148,7 @@ Public Class TradeScreen
|
|||
|
||||
Dim itemData = lItem.Split(CChar("|"))
|
||||
|
||||
Me.TradeItems.Add(New TradeItem(ScriptConversion.ToInteger(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))
|
||||
Next
|
||||
|
||||
Me.texture = TextureManager.GetTexture("GUI\Menus\General")
|
||||
|
@ -637,8 +637,8 @@ Public Class TradeScreen
|
|||
Core.Player.Inventory.AddItem(tradeItem.ItemID, Me.BuyItemsAmount)
|
||||
|
||||
' Add a Premier Ball (ID=3) if the player bought 10 or more Poké Balls (ID=5):
|
||||
If tradeItem.ItemID = 5 And Me.BuyItemsAmount >= 10 Then
|
||||
Core.Player.Inventory.AddItem(3, 1)
|
||||
If tradeItem.ItemID = 5.ToString And Me.BuyItemsAmount >= 10 Then
|
||||
Core.Player.Inventory.AddItem(3.ToString, 1)
|
||||
End If
|
||||
|
||||
' Remove trade item from seller's side if the rest amount is smaller than 0:
|
||||
|
@ -671,7 +671,13 @@ Public Class TradeScreen
|
|||
|
||||
Private Function GetMaxBuyItemAmount(ByVal tradeItem As TradeItem) As Integer
|
||||
Dim item As Item = tradeItem.GetItem()
|
||||
Dim maxAmount As Integer = item.MaxStack - Core.Player.Inventory.GetItemAmount(item.ID)
|
||||
Dim ItemID As String
|
||||
If item.IsGameModeItem Then
|
||||
ItemID = item.gmID
|
||||
Else
|
||||
ItemID = item.ID.ToString
|
||||
End If
|
||||
Dim maxAmount As Integer = item.MaxStack - Core.Player.Inventory.GetItemAmount(ItemID)
|
||||
|
||||
If maxAmount > tradeItem.Amount And tradeItem.Amount > -1 Then
|
||||
maxAmount = tradeItem.Amount
|
||||
|
@ -886,9 +892,15 @@ Public Class TradeScreen
|
|||
Me.SellItemsList.Clear()
|
||||
For Each c In Core.Player.Inventory
|
||||
Dim i = Item.GetItemByID(c.ItemID)
|
||||
Dim ItemID As String
|
||||
If i.IsGameModeItem Then
|
||||
ItemID = i.gmID
|
||||
Else
|
||||
ItemID = i.ID.ToString
|
||||
End If
|
||||
If i.CanBeTraded = True Then
|
||||
If i.ItemType = Me.CurrentCategory Then
|
||||
SellItemsList.Add(New TradeItem(i.ID, c.Amount, -1, Me.Currency))
|
||||
SellItemsList.Add(New TradeItem(ItemID, c.Amount, -1, Me.Currency))
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
|
|
@ -266,11 +266,11 @@
|
|||
|
||||
oppPokemon.OT = Script.SaveNPCTrade(6)
|
||||
oppPokemon.CatchTrainerName = Script.SaveNPCTrade(7)
|
||||
oppPokemon.CatchBall = Item.GetItemByID(ScriptConversion.ToInteger(Script.SaveNPCTrade(8)))
|
||||
oppPokemon.CatchBall = Item.GetItemByID(Script.SaveNPCTrade(8))
|
||||
|
||||
Dim itemID As String = Script.SaveNPCTrade(9)
|
||||
If StringHelper.IsNumeric(itemID) Then
|
||||
oppPokemon.Item = Item.GetItemByID(ScriptConversion.ToInteger(itemID))
|
||||
oppPokemon.Item = Item.GetItemByID(itemID)
|
||||
End If
|
||||
|
||||
oppPokemon.CatchLocation = Script.SaveNPCTrade(10)
|
||||
|
|
|
@ -569,7 +569,7 @@
|
|||
T = False
|
||||
End If
|
||||
Case "hasitem"
|
||||
If Core.Player.Inventory.GetItemAmount(CInt(condition)) > 0 Then
|
||||
If Core.Player.Inventory.GetItemAmount(condition) > 0 Then
|
||||
T = True
|
||||
Else
|
||||
T = False
|
||||
|
@ -644,9 +644,9 @@
|
|||
catchMethod = Me.Value.GetSplit(2)
|
||||
End If
|
||||
|
||||
Dim catchBall As Item = Item.GetItemByID(1)
|
||||
Dim catchBall As Item = Item.GetItemByID(1.ToString)
|
||||
If commas > 2 Then
|
||||
catchBall = Item.GetItemByID(CInt(Me.Value.GetSplit(3)))
|
||||
catchBall = Item.GetItemByID(Me.Value.GetSplit(3))
|
||||
End If
|
||||
|
||||
Dim catchLocation As String = Screen.Level.MapName
|
||||
|
@ -676,7 +676,7 @@
|
|||
|
||||
If isEgg = True Then
|
||||
Pokemon.EggSteps = 1
|
||||
Pokemon.SetCatchInfos(Item.GetItemByID(5), "obtained at")
|
||||
Pokemon.SetCatchInfos(Item.GetItemByID(5.ToString), "obtained at")
|
||||
Else
|
||||
Pokemon.EggSteps = 0
|
||||
End If
|
||||
|
@ -1083,9 +1083,9 @@
|
|||
catchMethod = argument.GetSplit(2)
|
||||
End If
|
||||
|
||||
Dim catchBall As Item = Item.GetItemByID(1)
|
||||
Dim catchBall As Item = Item.GetItemByID(1.ToString)
|
||||
If commas > 2 Then
|
||||
catchBall = Item.GetItemByID(CInt(argument.GetSplit(3)))
|
||||
catchBall = Item.GetItemByID(argument.GetSplit(3))
|
||||
End If
|
||||
|
||||
Dim catchLocation As String = Screen.Level.MapName
|
||||
|
@ -1115,7 +1115,7 @@
|
|||
|
||||
If isEgg = True Then
|
||||
Pokemon.EggSteps = 1
|
||||
Pokemon.SetCatchInfos(Item.GetItemByID(5), "obtained at")
|
||||
Pokemon.SetCatchInfos(Item.GetItemByID(5.ToString), "obtained at")
|
||||
Else
|
||||
Pokemon.EggSteps = 0
|
||||
End If
|
||||
|
@ -1241,7 +1241,7 @@
|
|||
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))
|
||||
Core.SetScreen(New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5.ToString), AddressOf Script.DoNPCTrade, "Choose trade Pokémon", True))
|
||||
CType(Core.CurrentScreen, PartyScreen).ExitedSub = AddressOf Script.ExitedNPCTrade
|
||||
Case "hide"
|
||||
Screen.Level.OverworldPokemon.Visible = False
|
||||
|
@ -1649,7 +1649,7 @@
|
|||
End Sub
|
||||
|
||||
Private Sub GiveItem()
|
||||
Dim ItemID As Integer = CInt(Me.Value.GetSplit(0))
|
||||
Dim ItemID As String = Me.Value.GetSplit(0)
|
||||
Dim Item As Item = Item.GetItemByID(ItemID)
|
||||
|
||||
Dim Amount As Integer = CInt(Me.Value.GetSplit(1))
|
||||
|
@ -1671,7 +1671,7 @@
|
|||
End Sub
|
||||
|
||||
Private Sub RemoveItem()
|
||||
Dim ItemID As Integer = CInt(Me.Value.GetSplit(0))
|
||||
Dim ItemID As String = Me.Value.GetSplit(0)
|
||||
Dim Item As Item = Item.GetItemByID(ItemID)
|
||||
|
||||
Dim Amount As Integer = CInt(Me.Value.GetSplit(1))
|
||||
|
|
|
@ -20,17 +20,22 @@
|
|||
ItemID = argument.GetSplit(0)
|
||||
End If
|
||||
|
||||
If ScriptConversion.IsArithmeticExpression(ItemID) = False Then
|
||||
If ScriptConversion.IsArithmeticExpression(ItemID) = False AndAlso ItemID.StartsWith("gm") = False Then
|
||||
item = Item.GetItemByName(ItemID)
|
||||
|
||||
Else
|
||||
item = Item.GetItemByID(int(ItemID))
|
||||
item = Item.GetItemByID(ItemID)
|
||||
End If
|
||||
If Not item Is Nothing Then
|
||||
If item.MaxStack < Core.Player.Inventory.GetItemAmount(item.ID) + amount Then
|
||||
amount = int(item.MaxStack - Core.Player.Inventory.GetItemAmount(item.ID)).Clamp(0, 999)
|
||||
Dim _itemID As String
|
||||
If item.IsGameModeItem Then
|
||||
_itemID = item.gmID
|
||||
Else
|
||||
_itemID = item.ID.ToString
|
||||
End If
|
||||
Core.Player.Inventory.AddItem(item.ID, amount)
|
||||
If item.MaxStack < Core.Player.Inventory.GetItemAmount(_itemID) + amount Then
|
||||
amount = int(item.MaxStack - Core.Player.Inventory.GetItemAmount(_itemID)).Clamp(0, 999)
|
||||
End If
|
||||
Core.Player.Inventory.AddItem(_itemID, amount)
|
||||
End If
|
||||
Case "remove"
|
||||
Dim amount As Integer = 1
|
||||
|
@ -45,9 +50,16 @@
|
|||
End If
|
||||
End If
|
||||
|
||||
Dim Item As Item = Item.GetItemByID(int(ItemID))
|
||||
Dim Item As Item = Item.GetItemByID(ItemID)
|
||||
|
||||
Core.Player.Inventory.RemoveItem(Item.ID, amount)
|
||||
Dim _itemID As String
|
||||
If Item.IsGameModeItem Then
|
||||
_itemID = Item.gmID
|
||||
Else
|
||||
_itemID = Item.ID.ToString
|
||||
End If
|
||||
|
||||
Core.Player.Inventory.RemoveItem(_itemID, amount)
|
||||
|
||||
If showMessage = True Then
|
||||
Dim Message As String = ""
|
||||
|
@ -65,7 +77,7 @@
|
|||
End If
|
||||
Case "clearitem"
|
||||
If argument <> "" Then
|
||||
Dim ItemID As Integer = int(argument)
|
||||
Dim ItemID As String = argument
|
||||
Dim amount As Integer = Core.Player.Inventory.GetItemAmount(ItemID)
|
||||
|
||||
If amount > 0 Then
|
||||
|
@ -77,10 +89,10 @@
|
|||
Case "messagegive"
|
||||
Dim ItemID As String = argument.GetSplit(0)
|
||||
Dim item As Item
|
||||
If ScriptConversion.IsArithmeticExpression(ItemID) = False Then
|
||||
If ScriptConversion.IsArithmeticExpression(ItemID) = False AndAlso ItemID.StartsWith("gm") = False Then
|
||||
item = Item.GetItemByName(ItemID)
|
||||
Else
|
||||
item = Item.GetItemByID(int(ItemID))
|
||||
item = Item.GetItemByID(ItemID)
|
||||
End If
|
||||
|
||||
Dim Amount As Integer = int(argument.GetSplit(1))
|
||||
|
|
|
@ -61,9 +61,9 @@
|
|||
catchMethod = argument.GetSplit(2)
|
||||
End If
|
||||
|
||||
Dim catchBall As Item = Item.GetItemByID(1)
|
||||
Dim catchBall As Item = Item.GetItemByID(1.ToString)
|
||||
If commas > 2 Then
|
||||
catchBall = Item.GetItemByID(int(argument.GetSplit(3)))
|
||||
catchBall = Item.GetItemByID(argument.GetSplit(3))
|
||||
End If
|
||||
|
||||
Dim catchLocation As String = Screen.Level.MapName
|
||||
|
@ -81,9 +81,9 @@
|
|||
catchTrainer = argument.GetSplit(6)
|
||||
End If
|
||||
|
||||
Dim heldItem As Integer = 0
|
||||
Dim heldItem As String = 0.ToString
|
||||
If commas > 6 Then
|
||||
heldItem = CInt(argument.GetSplit(7))
|
||||
heldItem = argument.GetSplit(7)
|
||||
End If
|
||||
|
||||
Dim isShiny As Boolean = False
|
||||
|
@ -106,12 +106,12 @@
|
|||
|
||||
If isEgg = True Then
|
||||
Pokemon.EggSteps = 1
|
||||
Pokemon.SetCatchInfos(Item.GetItemByID(5), "obtained at")
|
||||
Pokemon.SetCatchInfos(Item.GetItemByID(5.ToString), "obtained at")
|
||||
Else
|
||||
Pokemon.EggSteps = 0
|
||||
End If
|
||||
|
||||
If heldItem <> 0 Then
|
||||
If heldItem <> 0.ToString Then
|
||||
Pokemon.Item = Item.GetItemByID(heldItem)
|
||||
End If
|
||||
|
||||
|
@ -249,7 +249,7 @@
|
|||
Dim splits() As String = argument.Split(CChar("|"))
|
||||
Script.SaveNPCTrade = splits
|
||||
|
||||
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}
|
||||
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5.ToString), 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)
|
||||
|
@ -372,7 +372,7 @@
|
|||
End If
|
||||
End If
|
||||
|
||||
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5), Nothing, "Choose Pokémon", canExit, canChooseFainted, canChooseEgg) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = canExit}
|
||||
Dim selScreen = New PartyScreen(Core.CurrentScreen, Item.GetItemByID(5.ToString), Nothing, "Choose Pokémon", canExit, canChooseFainted, canChooseEgg) With {.Mode = Screens.UI.ISelectionScreen.ScreenMode.Selection, .CanExit = canExit}
|
||||
AddHandler selScreen.SelectedObject, Nothing
|
||||
|
||||
Core.SetScreen(selScreen)
|
||||
|
@ -550,7 +550,7 @@
|
|||
End If
|
||||
Case "setitem"
|
||||
Dim Index As Integer = int(argument.GetSplit(0, ","))
|
||||
Dim newItem As Item = Item.GetItemByID(int(argument.GetSplit(1, ",")))
|
||||
Dim newItem As Item = Item.GetItemByID(argument.GetSplit(1, ","))
|
||||
|
||||
If Core.Player.Pokemons.Count - 1 >= Index Then
|
||||
Core.Player.Pokemons(Index).Item = newItem
|
||||
|
@ -577,7 +577,7 @@
|
|||
End If
|
||||
Case "setcatchball"
|
||||
Dim Index As Integer = int(argument.GetSplit(0, ","))
|
||||
Dim catchBall As Integer = int(argument.GetSplit(1, ","))
|
||||
Dim catchBall As String = argument.GetSplit(1, ",")
|
||||
|
||||
If Core.Player.Pokemons.Count - 1 >= Index Then
|
||||
Core.Player.Pokemons(Index).CatchBall = Item.GetItemByID(catchBall)
|
||||
|
@ -764,9 +764,9 @@
|
|||
catchMethod = argument.GetSplit(2)
|
||||
End If
|
||||
|
||||
Dim catchBall As Item = Item.GetItemByID(1)
|
||||
Dim catchBall As Item = Item.GetItemByID(1.ToString)
|
||||
If commas > 2 Then
|
||||
catchBall = Item.GetItemByID(int(argument.GetSplit(3)))
|
||||
catchBall = Item.GetItemByID(argument.GetSplit(3))
|
||||
End If
|
||||
|
||||
Dim catchLocation As String = Screen.Level.MapName
|
||||
|
@ -784,9 +784,9 @@
|
|||
catchTrainer = argument.GetSplit(6)
|
||||
End If
|
||||
|
||||
Dim heldItem As Integer = 0
|
||||
Dim heldItem As String = 0.ToString
|
||||
If commas > 6 Then
|
||||
heldItem = CInt(argument.GetSplit(7))
|
||||
heldItem = argument.GetSplit(7)
|
||||
End If
|
||||
|
||||
Dim isShiny As Boolean = False
|
||||
|
@ -809,12 +809,12 @@
|
|||
|
||||
If isEgg = True Then
|
||||
Pokemon.EggSteps = 1
|
||||
Pokemon.SetCatchInfos(Item.GetItemByID(5), "obtained at")
|
||||
Pokemon.SetCatchInfos(Item.GetItemByID(5.ToString), "obtained at")
|
||||
Else
|
||||
Pokemon.EggSteps = 0
|
||||
End If
|
||||
|
||||
If heldItem <> 0 Then
|
||||
If heldItem <> 0.ToString Then
|
||||
Pokemon.Item = Item.GetItemByID(heldItem)
|
||||
End If
|
||||
|
||||
|
|
|
@ -277,7 +277,7 @@
|
|||
|
||||
CanContinue = False
|
||||
Case "voltorbflip"
|
||||
If Core.Player.Inventory.GetItemAmount(54) > 0 Then
|
||||
If Core.Player.Inventory.GetItemAmount(54.ToString) > 0 Then
|
||||
If Core.Player.Coins < 50000 Then
|
||||
If VoltorbFlip.VoltorbFlipScreen.TotalCoins = -1 Then
|
||||
Core.SetScreen(New VoltorbFlip.VoltorbFlipScreen(CurrentScreen))
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
Select Case command.ToLower()
|
||||
Case "countitem"
|
||||
Dim ItemID As Integer = int(argument.GetSplit(0))
|
||||
Dim ItemID As String = argument.GetSplit(0)
|
||||
|
||||
Return Core.Player.Inventory.GetItemAmount(ItemID)
|
||||
Case "countitems"
|
||||
|
@ -27,13 +27,13 @@
|
|||
If argument.Contains(",") Then
|
||||
Select Case argument.GetSplit(1).ToLower()
|
||||
Case "p", "plural"
|
||||
Return Item.GetItemByID(int(ItemID)).PluralName
|
||||
Return Item.GetItemByID(ItemID).PluralName
|
||||
Case "s", "singular"
|
||||
Return Item.GetItemByID(int(ItemID)).Name
|
||||
Return Item.GetItemByID(ItemID).Name
|
||||
End Select
|
||||
End If
|
||||
|
||||
Return Item.GetItemByID(int(ItemID)).Name
|
||||
Return Item.GetItemByID(ItemID).Name
|
||||
Case "id"
|
||||
Dim item As Item = Item.GetItemByName(argument)
|
||||
If Not item Is Nothing Then
|
||||
|
|
Loading…
Reference in New Issue