mirror of
https://github.com/P3D-Legacy/P3D-Legacy.git
synced 2025-07-28 08:14:29 +02:00
Implement metronome-like effect for GM moves
This commit is contained in:
parent
e9a8a89856
commit
98ee3d48eb
@ -473,6 +473,12 @@
|
|||||||
Private Function GetAttack(ByVal BattleScreen As BattleScreen, ByVal own As Boolean, ByVal move As Attack) As RoundConst
|
Private Function GetAttack(ByVal BattleScreen As BattleScreen, ByVal own As Boolean, ByVal move As Attack) As RoundConst
|
||||||
'TODO: Reset rage counters
|
'TODO: Reset rage counters
|
||||||
|
|
||||||
|
If move.IsGameModeMove = True AndAlso move.gmUseRandomMove = True Then
|
||||||
|
If move.CurrentPP > 0 Then
|
||||||
|
move.CurrentPP -= 1
|
||||||
|
End If
|
||||||
|
Return New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = move.GetRandomAttack()}
|
||||||
|
Else
|
||||||
Select Case move.Name.ToLower()
|
Select Case move.Name.ToLower()
|
||||||
Case "metronome"
|
Case "metronome"
|
||||||
If move.CurrentPP > 0 Then
|
If move.CurrentPP > 0 Then
|
||||||
@ -506,6 +512,7 @@
|
|||||||
Case Else
|
Case Else
|
||||||
Return New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = move}
|
Return New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = move}
|
||||||
End Select
|
End Select
|
||||||
|
End If
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public SelectedMoveOwn As Boolean = True
|
Public SelectedMoveOwn As Boolean = True
|
||||||
|
@ -201,11 +201,11 @@
|
|||||||
Public TimesToAttack As Integer = 1
|
Public TimesToAttack As Integer = 1
|
||||||
Public gmTimesToAttack As String = "1"
|
Public gmTimesToAttack As String = "1"
|
||||||
Public gmUseMoveAnims As Attack = Nothing
|
Public gmUseMoveAnims As Attack = Nothing
|
||||||
|
Public gmUseRandomMove As Boolean = False
|
||||||
|
Public gmRandomMoveList As List(Of Integer)
|
||||||
Public EffectChances As New List(Of Integer)
|
Public EffectChances As New List(Of Integer)
|
||||||
'#End
|
'#End
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
'#SpecialDefinitions
|
'#SpecialDefinitions
|
||||||
'Damage and effect types
|
'Damage and effect types
|
||||||
Public MakesContact As Boolean = True
|
Public MakesContact As Boolean = True
|
||||||
@ -1906,6 +1906,11 @@
|
|||||||
Return returnMove
|
Return returnMove
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Function GetRandomAttack() As Attack
|
||||||
|
Dim moveID As Integer = gmRandomMoveList(Core.Random.Next(0, gmRandomMoveList.Count - 1))
|
||||||
|
|
||||||
|
Return Attack.GetAttackByID(moveID)
|
||||||
|
End Function
|
||||||
Public Function GetEffectChance(ByVal i As Integer, ByVal own As Boolean, ByVal BattleScreen As BattleScreen) As Integer
|
Public Function GetEffectChance(ByVal i As Integer, ByVal own As Boolean, ByVal BattleScreen As BattleScreen) As Integer
|
||||||
Dim _attack As Attack = Me
|
Dim _attack As Attack = Me
|
||||||
If gmCopyMove <> -1 Then
|
If gmCopyMove <> -1 Then
|
||||||
|
@ -395,6 +395,23 @@
|
|||||||
End If
|
End If
|
||||||
Case "usemoveanims"
|
Case "usemoveanims"
|
||||||
move.gmUseMoveAnims = Attack.GetAttackByID(CInt(value))
|
move.gmUseMoveAnims = Attack.GetAttackByID(CInt(value))
|
||||||
|
Case "userandommove"
|
||||||
|
move.gmUseRandomMove = True
|
||||||
|
Dim movelist As New List(Of Integer)
|
||||||
|
If value <> "" Then
|
||||||
|
Dim stringList As List(Of String) = value.Split(";").ToList
|
||||||
|
For a = 0 To stringList.Count - 1
|
||||||
|
movelist.Add(CInt(stringList(a)))
|
||||||
|
Next
|
||||||
|
Else
|
||||||
|
Dim forbiddenIDs As List(Of Integer) = {68, 102, 118, 119, 144, 165, 166, 168, 173, 182, 194, 197, 203, 214, 243, 264, 266, 267, 270, 271, 274, 289, 343, 364, 382, 383, 415, 448, 476, 469, 495, 501, 511, 516, 546, 547, 548, 553, 554, 555, 557}.ToList()
|
||||||
|
For a = 1 To Attack.MOVE_COUNT + 1
|
||||||
|
If forbiddenIDs.Contains(a) = False Then
|
||||||
|
movelist.Add(a)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
move.gmRandomMoveList = moveList
|
||||||
End Select
|
End Select
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
@ -55,7 +55,7 @@
|
|||||||
Public Shared Function GetMetronomeMove() As Attack
|
Public Shared Function GetMetronomeMove() As Attack
|
||||||
Dim moveID As Integer = Core.Random.Next(1, MOVE_COUNT + 1)
|
Dim moveID As Integer = Core.Random.Next(1, MOVE_COUNT + 1)
|
||||||
|
|
||||||
Dim forbiddenIDs As List(Of Integer) = {68, 102, 119, 144, 165, 166, 168, 173, 182, 194, 197, 203, 214, 243, 264, 266, 267, 270, 271, 274, 289, 343, 364, 382, 383, 415, 448, 476, 469, 495, 501, 511, 516, 546, 547, 548, 553, 554, 555, 557}.ToList()
|
Dim forbiddenIDs As List(Of Integer) = {68, 102, 118, 119, 144, 165, 166, 168, 173, 182, 194, 197, 203, 214, 243, 264, 266, 267, 270, 271, 274, 289, 343, 364, 382, 383, 415, 448, 476, 469, 495, 501, 511, 516, 546, 547, 548, 553, 554, 555, 557}.ToList()
|
||||||
|
|
||||||
While forbiddenIDs.Contains(moveID) = True
|
While forbiddenIDs.Contains(moveID) = True
|
||||||
moveID = Core.Random.Next(1, MOVE_COUNT + 1)
|
moveID = Core.Random.Next(1, MOVE_COUNT + 1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user