Fix some GameMode Item stuff

This commit is contained in:
JappaWakka 2023-06-21 19:21:34 +02:00
parent 5d8ae1b1b9
commit a6d9a21b72
10 changed files with 74 additions and 33 deletions

View File

@ -2484,9 +2484,11 @@
canSteal = False
End If
If canSteal Then
Dim ItemID As String = p.Item.ID.ToString
Dim ItemID As String
If p.Item.IsGameModeItem = True Then
ItemID = p.Item.gmID
Else
ItemID = p.Item.ID.ToString()
End If
p.OriginalItem = Item.GetItemByID(ItemID)
p.OriginalItem.AdditionalData = p.Item.AdditionalData
@ -2668,7 +2670,12 @@
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.ToString)
If p.Item.IsGameModeItem = True Then
op.Item = Item.GetItemByID(p.Item.gmID.ToString)
Else
op.Item = Item.GetItemByID(p.Item.ID.ToString)
End If
p.Item = Nothing
End If 'CODELINE OF EVIL
End If

View File

@ -1250,7 +1250,12 @@ nextIndex:
End If
If IsRemoteBattle = True Then
If p.OriginalItem IsNot Nothing Then
p.Item = P3D.Item.GetItemByID(p.OriginalItem.ID.ToString)
If p.OriginalItem.IsGameModeItem = True Then
p.Item = P3D.Item.GetItemByID(p.OriginalItem.gmID)
Else
p.Item = P3D.Item.GetItemByID(p.OriginalItem.ID.ToString)
End If
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 +1263,22 @@ nextIndex:
Else
If Not p.OriginalItem Is Nothing Then
If p.Item Is Nothing Then
p.Item = P3D.Item.GetItemByID(p.OriginalItem.ID.ToString)
If p.OriginalItem.IsGameModeItem = True Then
p.Item = P3D.Item.GetItemByID(p.OriginalItem.gmID.ToString)
Else
p.Item = P3D.Item.GetItemByID(p.OriginalItem.ID.ToString)
End If
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.ToString, 1)
If p.OriginalItem.IsGameModeItem = True Then
Core.Player.Inventory.AddItem(p.OriginalItem.gmID, 1)
Else
Core.Player.Inventory.AddItem(p.OriginalItem.ID.ToString, 1)
End If
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
@ -1313,7 +1328,11 @@ 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.ToString)
If p.OriginalItem.IsGameModeItem = True Then
p.Item = P3D.Item.GetItemByID(p.OriginalItem.gmID.ToString)
Else
p.Item = P3D.Item.GetItemByID(p.OriginalItem.ID.ToString)
End If
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
@ -1321,6 +1340,11 @@ nextIndex:
If Not p.OriginalItem Is Nothing Then
If p.Item IsNot Nothing Then
Core.Player.Inventory.AddItem(p.OriginalItem.ID.ToString, 1)
If p.OriginalItem.IsGameModeItem = True Then
Core.Player.Inventory.AddItem(p.OriginalItem.gmID, 1)
Else
Core.Player.Inventory.AddItem(p.OriginalItem.ID.ToString, 1)
End If
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

View File

@ -141,9 +141,11 @@
End If
End Select
Dim ItemID As String = p.Item.ID.ToString
Dim ItemID As String
If p.Item.IsGameModeItem = True Then
ItemID = p.Item.gmID
Else
ItemID = p.Item.ID.ToString
End If
p.OriginalItem = Item.GetItemByID(ItemID)
p.Item = Nothing

View File

@ -117,9 +117,11 @@
Exit Sub
End If
Dim ItemID As String = op.Item.ID.ToString
If op.Item.IsGameModeItem = True Then
ItemID = op.Item.gmID
Dim ItemID As String
If p.Item.IsGameModeItem = True Then
ItemID = p.Item.gmID
Else
ItemID = p.Item.ID.ToString
End If
op.OriginalItem = Item.GetItemByID(ItemID)
op.OriginalItem.AdditionalData = op.Item.AdditionalData

View File

@ -84,9 +84,11 @@
End If
If p.Item Is Nothing Then
Dim ItemID As String = op.Item.ID.ToString
If op.Item.IsGameModeItem = True Then
ItemID = op.Item.gmID
Dim ItemID As String
If p.Item.IsGameModeItem = True Then
ItemID = p.Item.gmID
Else
ItemID = p.Item.ID.ToString
End If
op.OriginalItem = Item.GetItemByID(ItemID)

View File

@ -95,9 +95,11 @@
End If
If op.Item Is Nothing And a = True And b = False Then
Dim ItemID As String = p.Item.ID.ToString
Dim ItemID As String
If p.Item.IsGameModeItem = True Then
ItemID = p.Item.gmID
Else
ItemID = p.Item.ID.ToString
End If
p.OriginalItem = Item.GetItemByID(ItemID)

View File

@ -87,9 +87,11 @@ Namespace BattleSystem.Moves.Normal
End If
If p.Item Is Nothing Then
Dim ItemID As String = op.Item.ID.ToString
If op.Item.IsGameModeItem = True Then
ItemID = op.Item.gmID
Dim ItemID As String
If p.Item.IsGameModeItem = True Then
ItemID = p.Item.gmID
Else
ItemID = p.Item.ID.ToString
End If
op.OriginalItem = Item.GetItemByID(ItemID)

View File

@ -125,13 +125,17 @@ Namespace BattleSystem.Moves.Psychic
op.Item = i1
If p.Item IsNot Nothing AndAlso p.OriginalItem IsNot Nothing Then
Dim pItemID As String = p.Item.ID.ToString
Dim pOriginalItemID As String = p.OriginalItem.ID.ToString
Dim pItemID As String
If p.Item.IsGameModeItem = True Then
pItemID = p.Item.gmID
Else
pItemID = p.Item.ID.ToString
End If
Dim pOriginalItemID As String
If p.OriginalItem.IsGameModeItem = True Then
pOriginalItemID = p.Item.gmID
Else
pOriginalItemID = p.Item.ID.ToString
End If
If pItemID = pOriginalItemID AndAlso p.Item.AdditionalData = p.OriginalItem.AdditionalData Then

View File

@ -174,20 +174,11 @@ Public Class EvolutionCondition
'REMOVE HELD ITEM CHECK
End If
Else
If Item.GetItemByID(c.Argument).IsGameModeItem Then
If p.Item.ID.ToString <> c.Argument Then
canEvolve = False
'ElseIf c.Trigger = EvolutionTrigger.Trading Then
'REMOVE HELD ITEM CHECK
End If
Else
If p.Item.ID <> CInt(c.Argument) Then
canEvolve = False
'ElseIf c.Trigger = EvolutionTrigger.Trading Then
'REMOVE HELD ITEM CHECK
End If
If p.Item.ID.ToString <> c.Argument Then
canEvolve = False
'ElseIf c.Trigger = EvolutionTrigger.Trading Then
'REMOVE HELD ITEM CHECK
End If
End If
End If
Case ConditionTypes.InParty

View File

@ -1845,7 +1845,12 @@ Public Class Pokemon
Dim SaveItemID As String = "0"
If Not Me.Item Is Nothing Then
SaveItemID = Me.Item.ID.ToString()
If Me.Item.IsGameModeItem = True Then
SaveItemID = Me.Item.gmID.ToString()
Else
SaveItemID = Me.Item.ID.ToString()
End If
End If
Dim ItemData As String = ""