Merge branch 'master' into master

This commit is contained in:
Daniel S. Billing 2024-07-19 19:24:54 +02:00 committed by GitHub
commit 09d9c51aa1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
52 changed files with 188 additions and 44 deletions

View File

@ -1,9 +0,0 @@
North:
{"Entity"{ENT[{"Scale"{sngArr[0.5,0.5,0.5]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[0.25,0.25,0.25]}}{"TexturePath"{str[vroad]}}{"Textures"{recArr[[80,0,8,8][32,0,8,8]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,-1,-1,1,1,1,1,-1,-1,-1,-1]}}{"Collision"{bool[0]}}{"ModelID"{int[16]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
{"Entity"{ENT[{"Scale"{sngArr[0.5,0.5,0.5]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[-0.25,0.25,0.25]}}{"TexturePath"{str[vroad]}}{"Textures"{recArr[[88,0,8,8][32,0,8,8]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,1,1,1,1]}}{"Collision"{bool[0]}}{"ModelID"{int[16]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
{"Entity"{ENT[{"Scale"{sngArr[0.5,0.5,0.5]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[0.25,-0.25,-0.25]}}{"TexturePath"{str[vroad]}}{"Textures"{recArr[[80,0,8,8][32,0,8,8]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,1,1,1,1,1,1,-1,-1,-1,-1]}}{"Collision"{bool[0]}}{"ModelID"{int[16]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
{"Entity"{ENT[{"Scale"{sngArr[0.5,0.5,0.5]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[-0.25,-0.25,-0.25]}}{"TexturePath"{str[vroad]}}{"Textures"{recArr[[88,0,8,8][32,0,8,8]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,1,1,-1,-1,-1,-1,1,1,1,1]}}{"Collision"{bool[0]}}{"ModelID"{int[16]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[2]}}]}}
{"Entity"{ENT[{"Scale"{sngArr[1,0.5,0.5]}}{"EntityID"{str[WallBlock]}}{"Position"{sngArr[0,-0.25,0.25]}}{"TexturePath"{str[vroad]}}{"Textures"{recArr[[32,0,8,8]]}}{"TextureIndex"{intArr[-1,-1,0,0,0,0,0,0,-1,-1]}}{"Collision"{bool[0]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}}
{"Entity"{ENT[{"EntityID"{str[SlideBlock]}}{"Position"{sngArr[0,0,0]}}{"TexturePath"{str[vroad]}}{"Textures"{recArr[[16,16,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[2]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}{"Visible"{bool[0]}}]}}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -64,13 +64,21 @@
Dim WarpTurns As Integer = CInt(Me.AdditionalValue.GetSplit(5)) Dim WarpTurns As Integer = CInt(Me.AdditionalValue.GetSplit(5))
Dim FallSpeed As String = "2.25" Dim FallSpeed As String = "2.25"
If Me.AdditionalValue.Split(",").Count >= 7 Then If Me.AdditionalValue.Split(",").Count >= 7 Then
FallSpeed = Me.AdditionalValue.GetSplit(6) If Me.AdditionalValue.GetSplit(6) <> "" Then
FallSpeed = Me.AdditionalValue.GetSplit(6)
End If
End If
Dim CameraFollows As Boolean = False
If Me.AdditionalValue.Split(",").Count >= 8 Then
If Me.AdditionalValue.GetSplit(7) <> "" Then
CameraFollows = CBool(Me.AdditionalValue.GetSplit(7))
End If
End If End If
If Me.AdditionalValue.Split(",").Count >= 8 Then If Me.AdditionalValue.Split(",").Count >= 9 Then
Dim validRotations As New List(Of Integer) Dim validRotations As New List(Of Integer)
Dim rotationData() As String = Me.AdditionalValue.GetSplit(7, ",").Split(CChar("|")) Dim rotationData() As String = Me.AdditionalValue.GetSplit(8, ",").Split(CChar("|"))
For Each Element As String In rotationData For Each Element As String In rotationData
validRotations.Add(CInt(Element)) validRotations.Add(CInt(Element))
Next Next
@ -98,26 +106,37 @@
s &= "@Player.SetMovement(0,-1,0)" & Environment.NewLine & s &= "@Player.SetMovement(0,-1,0)" & Environment.NewLine &
"@Player.DoWalkAnimation(0)" & Environment.NewLine & "@Player.DoWalkAnimation(0)" & Environment.NewLine &
"@Sound.Play(Drop_Fall)" & Environment.NewLine &
"@Player.SetSpeed(" & FallSpeed & ")" & Environment.NewLine & "@Player.SetSpeed(" & FallSpeed & ")" & Environment.NewLine &
"@Player.Move(2)" & Environment.NewLine & "@Player.Move(2)" & Environment.NewLine &
"@Player.SetOpacity(0)" & Environment.NewLine & "@Player.SetOpacity(0)" & Environment.NewLine &
"@Player.ResetMovement" & Environment.NewLine & "@Player.ResetMovement" & Environment.NewLine &
"@Level.Wait(30)" & Environment.NewLine & "@Level.Wait(30)" & Environment.NewLine &
"@Screen.FadeOut(35)" & Environment.NewLine & "@Screen.FadeOut(35)" & Environment.NewLine
"@Player.Warp(" & Destination & "," & CStr(WarpPosition.X).Replace(GameController.DecSeparator, ".") & "," & CStr(WarpPosition.Y).Replace(GameController.DecSeparator, ".") & "," & CStr(WarpPosition.Z).Replace(GameController.DecSeparator, ".") & "," & WarpTurns & ")" & Environment.NewLine & If CameraFollows = False Then
s &= "@Player.Warp(" & Destination & "," & CStr(WarpPosition.X).Replace(GameController.DecSeparator, ".") & "," & CStr(WarpPosition.Y).Replace(GameController.DecSeparator, ".") & "," & CStr(WarpPosition.Z).Replace(GameController.DecSeparator, ".") & "," & WarpTurns & ",3)" & Environment.NewLine &
"@Level.Update" & Environment.NewLine & "@Level.Update" & Environment.NewLine &
"@Camera.Defix" & Environment.NewLine & "@Camera.Defix" & Environment.NewLine &
"@Camera.Reset" & Environment.NewLine & "@Camera.Reset" & Environment.NewLine &
"@Camera.SetYaw(0)" & Environment.NewLine & "@Camera.SetYaw(0)" & Environment.NewLine &
"@Camera.Update" & Environment.NewLine & "@Camera.Update" & Environment.NewLine &
"@Camera.Fix" & Environment.NewLine & "@Camera.Fix" & Environment.NewLine &
"@Player.Warp(" & CStr(WarpPosition.X).Replace(GameController.DecSeparator, ".") & "," & CStr(WarpPosition.Y + DropDistance).Replace(GameController.DecSeparator, ".") & "," & CStr(WarpPosition.Z).Replace(GameController.DecSeparator, ".") & ")" & Environment.NewLine & "@Player.Warp(" & CStr(WarpPosition.X).Replace(GameController.DecSeparator, ".") & "," & CStr(WarpPosition.Y + DropDistance).Replace(GameController.DecSeparator, ".") & "," & CStr(WarpPosition.Z).Replace(GameController.DecSeparator, ".") & ")" & Environment.NewLine
"@Player.SetOpacity(1)" & Environment.NewLine & Else
s &= "@Player.Warp(" & Destination & "," & CStr(WarpPosition.X).Replace(GameController.DecSeparator, ".") & "," & CStr(WarpPosition.Y + DropDistance).Replace(GameController.DecSeparator, ".") & "," & CStr(WarpPosition.Z).Replace(GameController.DecSeparator, ".") & "," & WarpTurns & ",3)" & Environment.NewLine &
"@Level.Update" & Environment.NewLine &
"@Camera.Defix" & Environment.NewLine &
"@Camera.Reset" & Environment.NewLine &
"@Camera.SetYaw(0)" & Environment.NewLine &
"@Camera.Update" & Environment.NewLine
End If
s &= "@Player.SetOpacity(1)" & Environment.NewLine &
"@Level.Update" & Environment.NewLine & "@Level.Update" & Environment.NewLine &
"@Player.SetMovement(0,-1,0)" & Environment.NewLine & "@Player.SetMovement(0,-1,0)" & Environment.NewLine &
"@Player.SetSpeed(" & FallSpeed & ")" & Environment.NewLine & "@Player.SetSpeed(" & FallSpeed & ")" & Environment.NewLine &
"@Screen.FadeIn(35)" & Environment.NewLine & "@Screen.FadeIn(35)" & Environment.NewLine &
"@Player.Move(" & DropDistance & ")" & Environment.NewLine & "@Player.Move(" & DropDistance & ")" & Environment.NewLine &
"@Sound.Play(Drop_Land)" & Environment.NewLine &
"@Level.Update" & Environment.NewLine & "@Level.Update" & Environment.NewLine &
"@Camera.Update" & Environment.NewLine & "@Camera.Update" & Environment.NewLine &
"@Camera.Defix" & Environment.NewLine & "@Camera.Defix" & Environment.NewLine &

View File

@ -27,17 +27,34 @@
End If End If
Next Next
If c >= 5 Then If c >= 5 Then
Dim validRotations As New List(Of Integer) If link.GetSplit(5, ",") <> "" Then
Dim validRotations As New List(Of Integer)
Dim rotationData() As String = link.GetSplit(5, ",").Split(CChar("|")) Dim rotationData() As String = link.GetSplit(5, ",").Split(CChar("|"))
For Each Element As String In rotationData For Each Element As String In rotationData
validRotations.Add(CInt(Element)) validRotations.Add(CInt(Element))
Next Next
If validRotations.Contains(Screen.Camera.GetPlayerFacingDirection()) = False Then If validRotations.Contains(Screen.Camera.GetPlayerFacingDirection()) = False Then
Return True Return True
End If
End If End If
End If End If
Dim WarpSoundName As String = "Warp_Exit"
If c >= 6 Then
Dim WarpSoundData As Integer = CInt(link.GetSplit(6))
Select Case WarpSoundData
Case 0
WarpSoundName = "Warp_Exit"
Case 1
WarpSoundName = "Warp_Door"
Case 2
WarpSoundName = "Warp_Ladder"
Case 3
WarpSoundName = ""
Case Else
WarpSoundName = "Warp_Exit"
End Select
End If
If System.IO.File.Exists(GameController.GamePath & "\" & GameModeManager.ActiveGameMode.MapPath & destination) = True Or System.IO.File.Exists(GameController.GamePath & "\Content\Data\maps\" & destination) = True Then If System.IO.File.Exists(GameController.GamePath & "\" & GameModeManager.ActiveGameMode.MapPath & destination) = True Or System.IO.File.Exists(GameController.GamePath & "\Content\Data\maps\" & destination) = True Then
If MapViewMode = False Then If MapViewMode = False Then
Screen.Level.WarpData.WarpDestination = Me.AdditionalValue.GetSplit(0) Screen.Level.WarpData.WarpDestination = Me.AdditionalValue.GetSplit(0)
@ -46,6 +63,13 @@
Screen.Level.WarpData.DoWarpInNextTick = True Screen.Level.WarpData.DoWarpInNextTick = True
Screen.Level.WarpData.CorrectCameraYaw = Screen.Camera.Yaw Screen.Level.WarpData.CorrectCameraYaw = Screen.Camera.Yaw
Screen.Level.WarpData.IsWarpBlock = True Screen.Level.WarpData.IsWarpBlock = True
If GameModeManager.ContentFileExists("Sounds\" & WarpSoundName & ".wav") = True Or GameModeManager.ContentFileExists("Sounds\" & WarpSoundName & ".xnb") = True Then
Screen.Level.WarpData.WarpSound = WarpSoundName
ElseIf WarpSoundName = "" Then
Screen.Level.WarpData.WarpSound = Nothing
Else
Screen.Level.WarpData.WarpSound = "Warp_Exit"
End If
Logger.Debug("Lock Camera") Logger.Debug("Lock Camera")
CType(Screen.Camera, OverworldCamera).YawLocked = True CType(Screen.Camera, OverworldCamera).YawLocked = True
Else Else

View File

@ -18407,12 +18407,27 @@
<Content Include="Content\Sounds\Cries\901.wav"> <Content Include="Content\Sounds\Cries\901.wav">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="Content\Sounds\Drop_Fall.wav">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Sounds\Drop_Land.wav">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Sounds\Emote_Exclamation.wav"> <Content Include="Content\Sounds\Emote_Exclamation.wav">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="Content\Sounds\OverworldPoison.wav"> <Content Include="Content\Sounds\OverworldPoison.wav">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="Content\Sounds\Warp_Door.wav">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Sounds\Warp_Exit.wav">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Sounds\Warp_Ladder.wav">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Textures\battlecastle.png"> <Content Include="Content\Textures\battlecastle.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
@ -29725,9 +29740,6 @@
<Content Include="Content\Data\maps\structures\stairs\vroad\n.dat"> <Content Include="Content\Data\maps\structures\stairs\vroad\n.dat">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="Content\Data\maps\structures\stairs\vroad\s.dat">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Content\Data\maps\structures\stairs\vroad\w.dat"> <Content Include="Content\Data\maps\structures\stairs\vroad\w.dat">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>

View File

@ -453,7 +453,7 @@
Public RunMode As Boolean = True Public RunMode As Boolean = True
Public RunToggled As Boolean = False Public RunToggled As Boolean = False
Public DoWalkAnimation As Boolean = False Public DoWalkAnimation As Boolean = True
Public Structure Temp Public Structure Temp
Public Shared PokemonScreenIndex As Integer = 0 Public Shared PokemonScreenIndex As Integer = 0

View File

@ -319,6 +319,7 @@
TextureManager.TextureRectList.Clear() TextureManager.TextureRectList.Clear()
Whirlpool.LoadedWaterTemp = False Whirlpool.LoadedWaterTemp = False
Core.Player.RunToggled = False Core.Player.RunToggled = False
Core.Player.DoWalkAnimation = True
Core.SetScreen(New PressStartScreen()) Core.SetScreen(New PressStartScreen())
Core.Player.loadedSave = False Core.Player.loadedSave = False
End Sub End Sub

View File

@ -20,6 +20,8 @@
Case "toggle" Case "toggle"
Screen.Level.OverworldPokemon.Visible = Not Screen.Level.OverworldPokemon.Visible Screen.Level.OverworldPokemon.Visible = Not Screen.Level.OverworldPokemon.Visible
IsReady = True IsReady = True
Case Else
IsReady = True
End Select End Select
End Sub End Sub

View File

@ -189,22 +189,92 @@
Dim cPosition As Vector3 = Screen.Camera.Position Dim cPosition As Vector3 = Screen.Camera.Position
Select Case commas Select Case commas
Case 4 Case 5
Screen.Level.WarpData.WarpDestination = argument.GetSplit(0) Screen.Level.WarpData.WarpDestination = argument.GetSplit(0)
Screen.Level.WarpData.WarpPosition = New Vector3(sng(argument.GetSplit(1).Replace("~", CStr(cPosition.X)).Replace(".", GameController.DecSeparator)), Screen.Level.WarpData.WarpPosition = New Vector3(sng(argument.GetSplit(1).Replace("~", CStr(cPosition.X)).Replace(".", GameController.DecSeparator)),
sng(argument.GetSplit(2).Replace("~", CStr(cPosition.Y)).Replace(".", GameController.DecSeparator)), sng(argument.GetSplit(2).Replace("~", CStr(cPosition.Y)).Replace(".", GameController.DecSeparator)),
sng(argument.GetSplit(3).Replace("~", CStr(cPosition.Z)).Replace(".", GameController.DecSeparator))) sng(argument.GetSplit(3).Replace("~", CStr(cPosition.Z)).Replace(".", GameController.DecSeparator)))
Screen.Level.WarpData.WarpRotations = int(argument.GetSplit(4)) Screen.Level.WarpData.WarpRotations = int(argument.GetSplit(4))
Dim WarpSoundData As Integer = CInt(argument.GetSplit(5))
Select Case WarpSoundData
Case 0
Screen.Level.WarpData.WarpSound = "Warp_Exit"
Case 1
Screen.Level.WarpData.WarpSound = "Warp_Door"
Case 2
Screen.Level.WarpData.WarpSound = "Warp_Ladder"
Case 3
Screen.Level.WarpData.WarpSound = ""
Case Else
Screen.Level.WarpData.WarpSound = "Warp_Exit"
End Select
Screen.Level.WarpData.DoWarpInNextTick = True Screen.Level.WarpData.DoWarpInNextTick = True
Screen.Level.WarpData.CorrectCameraYaw = Screen.Camera.Yaw Screen.Level.WarpData.CorrectCameraYaw = Screen.Camera.Yaw
Case 4
If argument.GetSplit(0).Contains(".dat") = False Then
Screen.Level.WarpData.WarpDestination = Screen.Level.LevelFile
Screen.Level.WarpData.WarpPosition = New Vector3(sng(argument.GetSplit(0).Replace("~", CStr(cPosition.X)).Replace(".", GameController.DecSeparator)),
sng(argument.GetSplit(1).Replace("~", CStr(cPosition.Y)).Replace(".", GameController.DecSeparator)),
sng(argument.GetSplit(2).Replace("~", CStr(cPosition.Z)).Replace(".", GameController.DecSeparator)))
Screen.Level.WarpData.WarpRotations = int(argument.GetSplit(3))
Dim WarpSoundData As Integer = CInt(argument.GetSplit(4))
Select Case WarpSoundData
Case 0
Screen.Level.WarpData.WarpSound = "Warp_Exit"
Case 1
Screen.Level.WarpData.WarpSound = "Warp_Door"
Case 2
Screen.Level.WarpData.WarpSound = "Warp_Ladder"
Case 3
Screen.Level.WarpData.WarpSound = ""
Case Else
Screen.Level.WarpData.WarpSound = "Warp_Exit"
End Select
Screen.Level.WarpData.DoWarpInNextTick = True
Screen.Level.WarpData.CorrectCameraYaw = Screen.Camera.Yaw
Else
Screen.Level.WarpData.WarpDestination = argument.GetSplit(0)
Screen.Level.WarpData.WarpPosition = New Vector3(sng(argument.GetSplit(1).Replace("~", CStr(cPosition.X)).Replace(".", GameController.DecSeparator)),
sng(argument.GetSplit(2).Replace("~", CStr(cPosition.Y)).Replace(".", GameController.DecSeparator)),
sng(argument.GetSplit(3).Replace("~", CStr(cPosition.Z)).Replace(".", GameController.DecSeparator)))
Screen.Level.WarpData.WarpRotations = int(argument.GetSplit(4))
Screen.Level.WarpData.WarpSound = "Warp_Exit"
Screen.Level.WarpData.DoWarpInNextTick = True
Screen.Level.WarpData.CorrectCameraYaw = Screen.Camera.Yaw
End If
Case 3 Case 3
Screen.Level.WarpData.WarpDestination = argument.GetSplit(0) If argument.GetSplit(0).Contains(".dat") = False Then
Screen.Level.WarpData.WarpPosition = New Vector3(sng(argument.GetSplit(1).Replace("~", CStr(cPosition.X)).Replace(".", GameController.DecSeparator)), Screen.Level.WarpData.WarpDestination = Screen.Level.LevelFile
sng(argument.GetSplit(2).Replace("~", CStr(cPosition.Y)).Replace(".", GameController.DecSeparator)), Screen.Level.WarpData.WarpPosition = New Vector3(sng(argument.GetSplit(0).Replace("~", CStr(cPosition.X)).Replace(".", GameController.DecSeparator)),
sng(argument.GetSplit(3).Replace("~", CStr(cPosition.Z)).Replace(".", GameController.DecSeparator))) sng(argument.GetSplit(1).Replace("~", CStr(cPosition.Y)).Replace(".", GameController.DecSeparator)),
Screen.Level.WarpData.WarpRotations = 0 sng(argument.GetSplit(2).Replace("~", CStr(cPosition.Z)).Replace(".", GameController.DecSeparator)))
Screen.Level.WarpData.DoWarpInNextTick = True Screen.Level.WarpData.WarpRotations = 0
Screen.Level.WarpData.CorrectCameraYaw = Screen.Camera.Yaw Dim WarpSoundData As Integer = CInt(argument.GetSplit(3))
Select Case WarpSoundData
Case 0
Screen.Level.WarpData.WarpSound = "Warp_Exit"
Case 1
Screen.Level.WarpData.WarpSound = "Warp_Door"
Case 2
Screen.Level.WarpData.WarpSound = "Warp_Ladder"
Case 3
Screen.Level.WarpData.WarpSound = ""
Case Else
Screen.Level.WarpData.WarpSound = "Warp_Exit"
End Select
Screen.Level.WarpData.DoWarpInNextTick = True
Screen.Level.WarpData.CorrectCameraYaw = Screen.Camera.Yaw
Else
Screen.Level.WarpData.WarpDestination = argument.GetSplit(0)
Screen.Level.WarpData.WarpPosition = New Vector3(sng(argument.GetSplit(1).Replace("~", CStr(cPosition.X)).Replace(".", GameController.DecSeparator)),
sng(argument.GetSplit(2).Replace("~", CStr(cPosition.Y)).Replace(".", GameController.DecSeparator)),
sng(argument.GetSplit(3).Replace("~", CStr(cPosition.Z)).Replace(".", GameController.DecSeparator)))
Screen.Level.WarpData.WarpRotations = 0
Screen.Level.WarpData.WarpSound = "Warp_Exit"
Screen.Level.WarpData.DoWarpInNextTick = True
Screen.Level.WarpData.CorrectCameraYaw = Screen.Camera.Yaw
End If
Case 2 Case 2
Screen.Camera.Position = New Vector3(sng(argument.GetSplit(0).Replace("~", CStr(cPosition.X)).Replace(".", GameController.DecSeparator)), Screen.Camera.Position = New Vector3(sng(argument.GetSplit(0).Replace("~", CStr(cPosition.X)).Replace(".", GameController.DecSeparator)),
sng(argument.GetSplit(1).Replace("~", CStr(cPosition.Y)).Replace(".", GameController.DecSeparator)), sng(argument.GetSplit(1).Replace("~", CStr(cPosition.Y)).Replace(".", GameController.DecSeparator)),
@ -213,6 +283,7 @@
Screen.Level.WarpData.WarpDestination = argument Screen.Level.WarpData.WarpDestination = argument
Screen.Level.WarpData.WarpPosition = Screen.Camera.Position Screen.Level.WarpData.WarpPosition = Screen.Camera.Position
Screen.Level.WarpData.WarpRotations = 0 Screen.Level.WarpData.WarpRotations = 0
Screen.Level.WarpData.WarpSound = "Warp_Exit"
Screen.Level.WarpData.DoWarpInNextTick = True Screen.Level.WarpData.DoWarpInNextTick = True
Screen.Level.WarpData.CorrectCameraYaw = Screen.Camera.Yaw Screen.Level.WarpData.CorrectCameraYaw = Screen.Camera.Yaw
End Select End Select
@ -380,6 +451,19 @@
Dim doWalkAnimation As Boolean = CBool(argument) Dim doWalkAnimation As Boolean = CBool(argument)
Core.Player.DoWalkAnimation = doWalkAnimation Core.Player.DoWalkAnimation = doWalkAnimation
IsReady = True IsReady = True
Case "removeitemdata"
Dim IDs() As String = Core.Player.ItemData.Split(CChar(","))
Dim LevelPath As String = argument.GetSplit(0, ",")
Dim LevelItemIndex As String = argument.GetSplit(1, ",")
If IDs.Contains((LevelPath.ToLower() & "|" & LevelItemIndex).ToLower()) = True Then
If Core.Player.ItemData.Split(",").Count = 1 Then
Core.Player.ItemData = ""
Else
Core.Player.ItemData = Core.Player.ItemData.Replace(("," & (LevelPath.ToLower() & "|" & LevelItemIndex).ToLower()).ToString, "")
End If
End If
IsReady = True
Case "quitgame" Case "quitgame"
'Reset VoltorbFlipScreen's Variables 'Reset VoltorbFlipScreen's Variables
VoltorbFlip.VoltorbFlipScreen.CurrentLevel = 1 VoltorbFlip.VoltorbFlipScreen.CurrentLevel = 1

View File

@ -512,7 +512,8 @@ Namespace ScriptVersion2
New ScriptArgument("z", ScriptArgument.ArgumentTypes.Sng), New ScriptArgument("z", ScriptArgument.ArgumentTypes.Sng),
New ScriptArgument("facing", ScriptArgument.ArgumentTypes.Int)}.ToList(), "Warps the player to a new location on a new map and changes the facing afterwards. To get relative coordinates, enter a ""~"".")) New ScriptArgument("facing", ScriptArgument.ArgumentTypes.Int)}.ToList(), "Warps the player to a new location on a new map and changes the facing afterwards. To get relative coordinates, enter a ""~""."))
r(New ScriptCommand("player", "stopmovement", "Stops the player movement.")) r(New ScriptCommand("player", "stopmovement", "Stops the player movement."))
r(New ScriptCommand("player", "addmoney", {New ScriptArgument("amount", ScriptArgument.ArgumentTypes.Int)}.ToList(), "Adds the given amount to the player's money.")) r(New ScriptCommand("player", "AddMoney", {New ScriptArgument("amount", ScriptArgument.ArgumentTypes.Int)}.ToList(), "Adds the given amount to the player's money."))
r(New ScriptCommand("player", "RemoveMoney", {New ScriptArgument("amount", ScriptArgument.ArgumentTypes.Int)}.ToList(), "Removes the given amount from the player's money."))
r(New ScriptCommand("player", "addcoins", {New ScriptArgument("amount", ScriptArgument.ArgumentTypes.Int)}.ToList(), "Adds the given amount to the player's coins.")) r(New ScriptCommand("player", "addcoins", {New ScriptArgument("amount", ScriptArgument.ArgumentTypes.Int)}.ToList(), "Adds the given amount to the player's coins."))
r(New ScriptCommand("player", "setspeed", {New ScriptArgument("speed", ScriptArgument.ArgumentTypes.Sng)}.ToList(), "Sets the speed of the player. The default is ""1"".")) r(New ScriptCommand("player", "setspeed", {New ScriptArgument("speed", ScriptArgument.ArgumentTypes.Sng)}.ToList(), "Sets the speed of the player. The default is ""1""."))
r(New ScriptCommand("player", "resetspeed", "Resets the walking speed of the player to the default speed, which is ""1"".")) r(New ScriptCommand("player", "resetspeed", "Resets the walking speed of the player to the default speed, which is ""1""."))
@ -520,6 +521,8 @@ Namespace ScriptVersion2
New ScriptArgument("y", ScriptArgument.ArgumentTypes.Int), New ScriptArgument("y", ScriptArgument.ArgumentTypes.Int),
New ScriptArgument("z", ScriptArgument.ArgumentTypes.Int)}.ToList(), "Sets the direction the player will move next regardless of facing.")) New ScriptArgument("z", ScriptArgument.ArgumentTypes.Int)}.ToList(), "Sets the direction the player will move next regardless of facing."))
r(New ScriptCommand("player", "resetmovement", "Resets the player movement to the default movement directions.")) r(New ScriptCommand("player", "resetmovement", "Resets the player movement to the default movement directions."))
r(New ScriptCommand("player", "PreventMovement", "Makes the player unable to move, while still keeping control over the menu, interactions etc."))
r(New ScriptCommand("player", "AllowMovement", "Gives the player back their ability to move after using @Player.PreventMovement."))
r(New ScriptCommand("player", "getbadge", {New ScriptArgument("badgeID", ScriptArgument.ArgumentTypes.Int)}.ToList(), "Adds the given Badge to the player's Badges and displays a message.")) r(New ScriptCommand("player", "getbadge", {New ScriptArgument("badgeID", ScriptArgument.ArgumentTypes.Int)}.ToList(), "Adds the given Badge to the player's Badges and displays a message."))
r(New ScriptCommand("player", "removebadge", {New ScriptArgument("badgeID", ScriptArgument.ArgumentTypes.Int)}.ToList(), "Removes the given Badge from the player's Badges.")) r(New ScriptCommand("player", "removebadge", {New ScriptArgument("badgeID", ScriptArgument.ArgumentTypes.Int)}.ToList(), "Removes the given Badge from the player's Badges."))
r(New ScriptCommand("player", "addbadge", {New ScriptArgument("badgeID", ScriptArgument.ArgumentTypes.Int)}.ToList(), "Adds the given Badge from the player's Badges.")) r(New ScriptCommand("player", "addbadge", {New ScriptArgument("badgeID", ScriptArgument.ArgumentTypes.Int)}.ToList(), "Adds the given Badge from the player's Badges."))
@ -535,6 +538,7 @@ Namespace ScriptVersion2
r(New ScriptCommand("player", "setopacity", {New ScriptArgument("opacity", ScriptArgument.ArgumentTypes.Sng)}.ToList(), "Sets the player entity's opacity.")) r(New ScriptCommand("player", "setopacity", {New ScriptArgument("opacity", ScriptArgument.ArgumentTypes.Sng)}.ToList(), "Sets the player entity's opacity."))
r(New ScriptCommand("player", "QuitGame", {New ScriptArgument("doFade", ScriptArgument.ArgumentTypes.Bool, True, "")}.ToList(), "Quits the game and goes back to the Main Menu (with optionally a fade out and in).")) r(New ScriptCommand("player", "QuitGame", {New ScriptArgument("doFade", ScriptArgument.ArgumentTypes.Bool, True, "")}.ToList(), "Quits the game and goes back to the Main Menu (with optionally a fade out and in)."))
r(New ScriptCommand("player", "DoWalkAnimation", {New ScriptArgument("walkAnimation", ScriptArgument.ArgumentTypes.Bool)}.ToList(), "Enables or disables the player's walking animation when walking or during a @player.move command.")) r(New ScriptCommand("player", "DoWalkAnimation", {New ScriptArgument("walkAnimation", ScriptArgument.ArgumentTypes.Bool)}.ToList(), "Enables or disables the player's walking animation when walking or during a @player.move command."))
r(New ScriptCommand("player", "RemoveItemData", {New ScriptArgument("levelPath", ScriptArgument.ArgumentTypes.Str), New ScriptArgument("itemIndex", ScriptArgument.ArgumentTypes.Str)}.ToList(), "Makes the specified item index of the specified map spawn again after it has been found."))
' Constructs: ' Constructs:
r(New ScriptCommand("player", "position", "sngarr", {New ScriptArgument("coordinate", ScriptArgument.ArgumentTypes.StrArr, {"x", "y", "z"}, True, "")}.ToList(), "Returns the position of the player. The normal coordinate combination is ""X,Y,Z"".", ",", True)) r(New ScriptCommand("player", "position", "sngarr", {New ScriptArgument("coordinate", ScriptArgument.ArgumentTypes.StrArr, {"x", "y", "z"}, True, "")}.ToList(), "Returns the position of the player. The normal coordinate combination is ""X,Y,Z"".", ",", True))

View File

@ -712,6 +712,11 @@ Public Class Level
''' If the warp action got triggered by a warp block. ''' If the warp action got triggered by a warp block.
''' </summary> ''' </summary>
Public IsWarpBlock As Boolean Public IsWarpBlock As Boolean
''' <summary>
''' What sound effect to trigger when warping
''' </summary>
Public WarpSound As String
End Structure End Structure
''' <summary> ''' <summary>
@ -1159,13 +1164,15 @@ Public Class Level
' Because of the map change, Roaming Pokémon are moving to their next location on the world map: ' Because of the map change, Roaming Pokémon are moving to their next location on the world map:
RoamingPokemon.ShiftRoamingPokemon(-1) RoamingPokemon.ShiftRoamingPokemon(-1)
' Check if the enter sound should be played by checking if CanDig or CanFly properties are different from the last map: ' Check if the "warp" sound should be played by checking if CanDig or CanFly properties are different from the last map:
If tempProperties <> Me.CanDig.ToString() & "," & Me.CanFly.ToString() Then If Not Me.WarpData.WarpSound = Nothing And Not Me.WarpData.WarpSound = "" Then
SoundManager.PlaySound("enter", False) If tempProperties <> Me.CanDig.ToString() & "," & Me.CanFly.ToString() Then
ElseIf tempProperties = "True,False" And Me.CanDig = True And Me.CanFly = False Then SoundManager.PlaySound(Me.WarpData.WarpSound, False)
SoundManager.PlaySound("enter", False) ElseIf tempProperties = "True,False" And Me.CanDig = True And Me.CanFly = False Then
ElseIf tempProperties = "False,False" And Me.CanDig = False And Me.CanFly = False Then SoundManager.PlaySound(Me.WarpData.WarpSound, False)
SoundManager.PlaySound("enter", False) ElseIf tempProperties = "False,False" And Me.CanDig = False And Me.CanFly = False Then
SoundManager.PlaySound(Me.WarpData.WarpSound, False)
End If
End If End If
' Unlock the yaw on the camera: ' Unlock the yaw on the camera: