mirror of
https://github.com/P3D-Legacy/P3D-Legacy.git
synced 2025-07-26 23:34:58 +02:00
Added BlackOutScript actions map tag
{"BlackOutScript"{str[ScriptPath]}} will execute the specified script after blacking/whiting out
This commit is contained in:
parent
a3f733c7b6
commit
b03fa9f0fc
@ -1405,8 +1405,8 @@ nextIndex:
|
||||
ItemReturnScript &= "@Sound.Play(item_found)" & Environment.NewLine & "@Text.Show(" & Core.Player.Name & " found~" & p.OriginalItem.Name & "!*" & Core.Player.Inventory.GetMessageReceive(p.OriginalItem, 1)
|
||||
|
||||
p.OriginalItem = Nothing
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
p.ResetTemp()
|
||||
Next
|
||||
@ -1528,7 +1528,12 @@ nextIndex:
|
||||
FieldEffects.OppRageFistPower = 0
|
||||
|
||||
ResetVars()
|
||||
Core.SetScreen(New TransitionScreen(Me, New BlackOutScreen(Me), Color.Black, False))
|
||||
If SavedOverworld.Level.BlackOutScript <> "" Then
|
||||
CType(SavedOverworld.OverworldScreen, OverworldScreen).ActionScript.StartScript(SavedOverworld.Level.BlackOutScript, 0, False)
|
||||
Core.SetScreen(New TransitionScreen(Me, SavedOverworld.OverworldScreen, Color.Black, False, AddressOf ChangeSavedScreen))
|
||||
Else
|
||||
Core.SetScreen(New TransitionScreen(Me, New BlackOutScreen(Me), Color.Black, False))
|
||||
End If
|
||||
End If
|
||||
BattleMapOffset = New Vector3(0)
|
||||
OwnLeadIndex = 0
|
||||
|
@ -1928,7 +1928,11 @@
|
||||
End If
|
||||
End If
|
||||
If Core.Player.CountFightablePokemon = 0 Then
|
||||
Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False))
|
||||
If Screen.Level.BlackOutScript <> "" Then
|
||||
CType(CurrentScreen, OverworldScreen).ActionScript.StartScript(Screen.Level.BlackOutScript, 0, False)
|
||||
Else
|
||||
Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False))
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
@ -52,7 +52,11 @@
|
||||
|
||||
CanContinue = False
|
||||
Else
|
||||
Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False))
|
||||
If Screen.Level.BlackOutScript <> "" Then
|
||||
CType(CurrentScreen, OverworldScreen).ActionScript.StartScript(Screen.Level.BlackOutScript, 0, False)
|
||||
Else
|
||||
Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False))
|
||||
End If
|
||||
End If
|
||||
Case "trainer"
|
||||
If Core.Player.Pokemons.Count > 0 Then
|
||||
@ -92,7 +96,11 @@
|
||||
|
||||
CanContinue = False
|
||||
Else
|
||||
Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False))
|
||||
If Screen.Level.BlackOutScript <> "" Then
|
||||
CType(CurrentScreen, OverworldScreen).ActionScript.StartScript(Screen.Level.BlackOutScript, 0, False)
|
||||
Else
|
||||
Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False))
|
||||
End If
|
||||
End If
|
||||
Case "wild"
|
||||
' ID, Level, [shiny], [musicloop], [introtype]
|
||||
@ -203,7 +211,11 @@
|
||||
|
||||
CanContinue = False
|
||||
Else
|
||||
Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False))
|
||||
If Screen.Level.BlackOutScript <> "" Then
|
||||
CType(CurrentScreen, OverworldScreen).ActionScript.StartScript(Screen.Level.BlackOutScript, 0, False)
|
||||
Else
|
||||
Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False))
|
||||
End If
|
||||
End If
|
||||
Case "setvar"
|
||||
Dim varname As String = argument.GetSplit(0)
|
||||
|
@ -80,7 +80,11 @@
|
||||
|
||||
CanContinue = False
|
||||
Case "blackout"
|
||||
Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False))
|
||||
If Screen.Level.BlackOutScript <> "" Then
|
||||
CType(CurrentScreen, OverworldScreen).ActionScript.StartScript(Screen.Level.BlackOutScript, 0, False)
|
||||
Else
|
||||
Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False))
|
||||
End If
|
||||
|
||||
IsReady = True
|
||||
|
||||
|
@ -73,6 +73,8 @@ Public Class Level
|
||||
Private _offsetMapEntities As New List(Of Entity)
|
||||
Private _offsetMapFloors As New List(Of Entity)
|
||||
|
||||
Public _blackOutScript As String = ""
|
||||
|
||||
' Radio:
|
||||
Private _isRadioOn As Boolean = False
|
||||
Private _selectedRadioStation As GameJolt.PokegearScreen.RadioStation = Nothing
|
||||
@ -247,6 +249,18 @@ Public Class Level
|
||||
End Set
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' The script to execute after the player blacks/whites out
|
||||
''' </summary>
|
||||
Public Property BlackOutScript() As String
|
||||
Get
|
||||
Return Me._blackOutScript
|
||||
End Get
|
||||
Set(value As String)
|
||||
Me._blackOutScript = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' The name of the current map.
|
||||
''' </summary>
|
||||
|
@ -1037,6 +1037,11 @@
|
||||
Else
|
||||
Screen.Level.DisableMenus = False
|
||||
End If
|
||||
If TagExists(Tags, "BlackOutScript") = True Then
|
||||
Screen.Level.BlackOutScript = CStr(GetTag(Tags, "BlackOutScript"))
|
||||
Else
|
||||
Screen.Level.BlackOutScript = ""
|
||||
End If
|
||||
If _reload = False Then
|
||||
If TagExists(Tags, "EnvironmentType") = True Then
|
||||
Screen.Level.EnvironmentType = CInt(GetTag(Tags, "EnvironmentType"))
|
||||
|
@ -120,7 +120,11 @@ Public Class PokemonEncounter
|
||||
' If the encounter check is true:
|
||||
If Me._levelReference.PokemonEncounterData.EncounteredPokemon = True And Core.CurrentScreen.Identification = Screen.Identifications.OverworldScreen Then
|
||||
If Core.Player.Pokemons.Count = 0 Then
|
||||
Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False))
|
||||
If Screen.Level.BlackOutScript <> "" Then
|
||||
CType(CurrentScreen, OverworldScreen).ActionScript.StartScript(Screen.Level.BlackOutScript, 0, False)
|
||||
Else
|
||||
Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False))
|
||||
End If
|
||||
Me._levelReference.PokemonEncounterData.EncounteredPokemon = False
|
||||
Exit Sub
|
||||
Else
|
||||
|
Loading…
x
Reference in New Issue
Block a user