Added SaveOnly map tag

A map tag that disables the PokeGear and all of the menu options except Save while on the map
This commit is contained in:
JappaWakka 2022-08-29 13:01:56 +02:00
parent 45d168a2ba
commit 9e86665e58
4 changed files with 40 additions and 17 deletions

View File

@ -239,7 +239,7 @@ Public Class OverworldScreen
NotificationPopupList(0).Dismiss()
Else
If Core.Player.HasPokegear = True Or GameController.IS_DEBUG_ACTIVE = True Or Core.Player.SandBoxMode = True Then
If Screen.Camera.IsMoving() = False And ActionScript.IsReady = True Then
If Screen.Camera.IsMoving() = False And ActionScript.IsReady = True AndAlso Screen.Level.SaveOnly = False Then
Core.SetScreen(New GameJolt.PokegearScreen(Me, GameJolt.PokegearScreen.EntryModes.MainMenu, {}))
End If
End If

View File

@ -42,25 +42,30 @@
End Sub
Private Sub ConstructMenu()
If Core.Player.HasPokedex = True Then
_menuOptions.Add("Pokédex")
End If
If Screen.Level.SaveOnly = False Then
If Screen.Level.IsBugCatchingContest = True Then
_menuOptions.AddRange({Screen.Level.BugCatchingContestData.GetSplit(2) & " x" & Core.Player.Inventory.GetItemAmount(177),
"Bag",
"|||" & Core.Player.Name, 'Trainer card
"End Contest"})
Else
If Core.Player.Pokemons.Count > 0 Then
_menuOptions.Add("Pokémon")
If Core.Player.HasPokedex = True Then
_menuOptions.Add("Pokédex")
End If
_menuOptions.AddRange({"Bag",
"|||" & Core.Player.Name,
"Save"})
End If
_menuOptions.Add("Options")
If Screen.Level.IsBugCatchingContest = True Then
_menuOptions.AddRange({Screen.Level.BugCatchingContestData.GetSplit(2) & " x" & Core.Player.Inventory.GetItemAmount(177),
"Bag",
"|||" & Core.Player.Name, 'Trainer card
"End Contest"})
Else
If Core.Player.Pokemons.Count > 0 Then
_menuOptions.Add("Pokémon")
End If
_menuOptions.AddRange({"Bag",
"|||" & Core.Player.Name,
"Save"})
End If
_menuOptions.Add("Options")
Else
_menuOptions.Add("Save")
End If
End Sub
Private _blur As Resources.Blur.BlurHandler

View File

@ -41,6 +41,7 @@ Public Class Level
Private _weatherType As Integer = 0
Public _DayTime As World.DayTimes = World.GetTime
Private _environmentType As Integer = 0
Private _saveonly As Boolean = False
Private _wildPokemonGrass As Boolean = True
Private _wildPokemonFloor As Boolean = False
Private _wildPokemonWater As Boolean = True
@ -380,6 +381,18 @@ Public Class Level
End Set
End Property
''' <summary>
''' If only the Save option should be available in the menu for this map.
''' </summary>
Public Property SaveOnly As Boolean
Get
Return Me._saveonly
End Get
Set(value As Boolean)
Me._saveonly = value
End Set
End Property
''' <summary>
''' The environment type for this map.
''' </summary>

View File

@ -1009,6 +1009,11 @@
Else
Screen.Level.RideType = 0
End If
If TagExists(Tags, "SaveOnly") = True Then
Screen.Level.SaveOnly = CBool(GetTag(Tags, "SaveOnly"))
Else
Screen.Level.SaveOnly = False
End If
If _reload = False Then
If TagExists(Tags, "EnvironmentType") = True Then
Screen.Level.EnvironmentType = CInt(GetTag(Tags, "EnvironmentType"))