Merge pull request #1 from CaptainSegis/master

Merge Captain Segis changes to new repo
This commit is contained in:
nilllzz 2016-09-12 19:06:06 +02:00 committed by GitHub
commit d8452d5a14
14 changed files with 232 additions and 55 deletions

View File

@ -131,9 +131,11 @@
Dim speed As Integer = CInt(p.Speed * GetMultiplierFromStat(p.StatSpeed)) 'Calculate the speed's basic value from the speed and the speed stat
If own = True Then
If Core.Player.Badges.Contains(3) = True Then
speed = CInt(speed + (speed * (1 / 8))) 'Add 1/8 of the speed if the player has the 3rd badge
End If
If BattleScreen.IsPVPBattle = False Then
If Core.Player.Badges.Contains(3) = True Then
speed = CInt(speed + (speed * (1 / 8))) 'Add 1/8 of the speed if the player has the 3rd badge and it's not a PvP battle
End If
End If
End If
If p.Status = net.Pokemon3D.Game.Pokemon.StatusProblems.Paralyzed And p.Ability.Name.ToLower() <> "quick feet" Then
@ -1784,4 +1786,4 @@
End Class
End Namespace
End Namespace

View File

@ -67,6 +67,7 @@
End If
Next
End If
i = i-1
Return i
End Function
@ -81,4 +82,4 @@
End Class
End Namespace
End Namespace

View File

@ -0,0 +1,88 @@
Namespace BattleSystem.Moves.Electric
Public Class VoltSwitch
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Electric)
Me.ID = 521
Me.OriginalPP = 20
Me.CurrentPP = 20
Me.MaxPP = 20
Me.Power = 70
Me.Accuracy = 100
Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Cool
Me.Name = "Volt Switch"
Me.Description = "After making its attack, the user rushes back to switch places with a party Pokémon in waiting."
Me.CriticalChance = 1
Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget
Me.Priority = 0
Me.TimesToAttack = 1
'#End
'#SpecialDefinitions
Me.MakesContact = False
Me.ProtectAffected = True
Me.MagicCoatAffected = False
Me.SnatchAffected = False
Me.MirrorMoveAffected = True
Me.KingsrockAffected = True
Me.CounterAffected = True
Me.DisabledWhileGravity = False
Me.UseEffectiveness = True
Me.ImmunityAffected = True
Me.RemovesFrozen = False
Me.HasSecondaryEffect = True
Me.IsHealingMove = False
Me.IsRecoilMove = False
Me.IsPunchingMove = False
Me.IsDamagingMove = True
Me.IsProtectMove = False
Me.IsSoundMove = False
Me.IsAffectedBySubstitute = True
Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = True
'#End
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
If own = True Then
If Core.Player.CountFightablePokemon > 1 Then
BattleScreen.Battle.SwitchOutOwn(BattleScreen, GetPokemonIndex(BattleScreen, own), -1)
End If
Else
If BattleScreen.IsTrainerBattle = True Or BattleScreen.IsRemoteBattle = True Or BattleScreen.IsPVPBattle = True Then
If BattleScreen.Trainer.CountUseablePokemon > 1 Then
BattleScreen.Battle.SwitchOutOpp(BattleScreen, GetPokemonIndex(BattleScreen, own))
End If
End If
End If
End Sub
Private Function GetPokemonIndex(ByVal BattleScreen As BattleScreen, ByVal own As Boolean) As Integer
If own = True Then
Dim i As Integer = 0
While Core.Player.Pokemons(i).HP <= 0 Or Core.Player.Pokemons(i).Status = Pokemon.StatusProblems.Fainted Or i = BattleScreen.OwnPokemonIndex Or Core.Player.Pokemons(i).IsEgg() = True
i += 1
End While
Return i
Else
Dim i As Integer = 0
While BattleScreen.Trainer.Pokemons(i).HP <= 0 Or BattleScreen.Trainer.Pokemons(i).Status = Pokemon.StatusProblems.Fainted Or i = BattleScreen.OwnPokemonIndex Or BattleScreen.Trainer.Pokemons(i).IsEgg() = True
i += 1
End While
Return i
End If
Return -1
End Function
End Class
End Namespace

View File

@ -64,20 +64,24 @@
End If
End Sub
Public Overrides Function GetAccuracy(own As Boolean, BattleScreen As BattleScreen) As Integer
If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Rain Then
Return 100
ElseIf BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Sunny Then
Return 50
Else
Return Me.Accuracy
End If
End Function
Public Overrides Function GetUseAccEvasion(own As Boolean, BattleScreen As BattleScreen) As Boolean
If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Rain Then
Return False
Else
Return True
End If
Return True
End Function
Public Overrides Function GetAccuracy(own As Boolean, BattleScreen As BattleScreen) As Integer
If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Sunny Then
Return 50
End If
Return Me.Accuracy
End Function
End Class
End Namespace
End Namespace

View File

@ -11,12 +11,12 @@
Me.OriginalPP = 15
Me.CurrentPP = 15
Me.MaxPP = 15
Me.Power = 70
Me.Power = 60
Me.Accuracy = 100
Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Smart
Me.Name = "Hidden Power"
Me.Description = "A unique attack that varies in type and intensity depending on the Pokémon using it."
Me.Description = "A unique attack that varies in type depending on the Pokémon using it."
Me.CriticalChance = 1
Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget
@ -115,4 +115,4 @@
End Class
End Namespace
End Namespace

View File

@ -60,8 +60,9 @@
BattleScreen.Battle.LowerStat(own, own, BattleScreen, "Special Defense", 1, "", "move:shellsmash")
BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Attack", 2, "", "move:shellsmash")
BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Special Attack", 2, "", "move:shellsmash")
BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Speed", 2, "", "move:shellsmash")
End Sub
End Class
End Namespace
End Namespace

View File

@ -35,7 +35,7 @@
Me.DisabledWhileGravity = False
Me.UseEffectiveness = False
Me.ImmunityAffected = True
Me.ImmunityAffected = False
Me.HasSecondaryEffect = False
Me.RemovesFrozen = False
@ -64,4 +64,4 @@
End Class
End Namespace
End Namespace

View File

@ -35,7 +35,7 @@
Me.DisabledWhileGravity = False
Me.UseEffectiveness = False
Me.ImmunityAffected = True
Me.ImmunityAffected = False
Me.RemovesFrozen = False
Me.HasSecondaryEffect = True
@ -63,4 +63,4 @@
End Class
End Namespace
End Namespace

View File

@ -16,7 +16,7 @@
Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cool
Me.Name = "Stealth Rock"
Me.Description = "he user lays a trap of levitating stones around the opposing team. The trap hurts opposing Pokémon that switch into battle."
Me.Description = "The user lays a trap of levitating stones around the opposing team. The trap hurts opposing Pokémon that switch into battle."
Me.CriticalChance = 0
Me.IsHMMove = False
Me.Target = Targets.AllFoes
@ -77,4 +77,4 @@
End Class
End Namespace
End Namespace

View File

@ -0,0 +1,76 @@
Namespace BattleSystem.Moves.Water
Public Class SteamEruption
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Water)
Me.ID = 592
Me.OriginalPP = 5
Me.CurrentPP = 5
Me.MaxPP = 5
Me.Power = 110
Me.Accuracy = 95
Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Beauty
Me.Name = "Steam Eruption"
Me.Description = "The user immerses the target in superheated steam. This may also leave the target with a burn."
Me.CriticalChance = 1
Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget
Me.Priority = 0
Me.TimesToAttack = 1
'#End
'#SpecialDefinitions
Me.MakesContact = False
Me.ProtectAffected = True
Me.MagicCoatAffected = False
Me.SnatchAffected = False
Me.MirrorMoveAffected = True
Me.KingsrockAffected = False
Me.CounterAffected = False
Me.DisabledWhileGravity = False
Me.UseEffectiveness = True
Me.ImmunityAffected = True
Me.HasSecondaryEffect = True
Me.RemovesFrozen = True
Me.IsHealingMove = False
Me.IsRecoilMove = False
Me.IsPunchingMove = False
Me.IsDamagingMove = True
Me.IsProtectMove = False
Me.IsSoundMove = False
Me.IsAffectedBySubstitute = True
Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = True
'#End
Me.AIField1 = AIField.Damage
Me.AIField2 = AIField.CanBurn
EffectChances.Add(30)
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim p As Pokemon = BattleScreen.OwnPokemon
Dim op As Pokemon = BattleScreen.OppPokemon
If own = False Then
p = BattleScreen.OppPokemon
op = BattleScreen.OwnPokemon
End If
Dim chance As Integer = GetEffectChance(0, own, BattleScreen)
If Core.Random.Next(0, 100) < chance Then
BattleScreen.Battle.InflictBurn(Not own, own, BattleScreen, "", "move:steameruption")
End If
End Sub
End Class
End Namespace

View File

@ -17,7 +17,7 @@ IsMale|0.0
Ability1|35
Ability2|30
HiddenAbility|148
Machines|174,92,192,244,237,173,63,196,182,240,203,218,87,216,94,104,207,214,129,138,197,156,213,171,36,38,61,55,58,99,85,100,102,115,117,130,86,149,161,164,352,258,113,263,290,285,362,278,416,360,445,363,447,430,433,473,496,503,605,590,57,148,250,127,291
Machines|174,92,192,244,237,173,63,196,182,240,203,218,87,216,94,104,207,214,129,138,197,156,213,171,36,38,61,55,58,59,99,85,100,102,115,117,130,86,149,161,164,352,258,113,263,290,285,362,278,416,360,445,363,447,430,433,473,496,503,605,590,57,148,250,127,291
BaseHP|60
BaseAttack|75
BaseDefense|85
@ -35,6 +35,7 @@ CanSwim|0
Pokedex|The middle section of its body is called the core. It glows in a different color each time it is seen.\Mysterious Pokémon\80\1.1\0,148,0
Scale|1.04
Move|1,55
Move|1,56
Move|1,229
Move|1,105
Move|1,129

View File

@ -39,20 +39,22 @@ Move|1,45
Move|1,93
Move|1,104
Move|1,100
Move|6,93
Move|10,104
Move|12,100
Move|17,381
Move|22,345
Move|25,505
Move|31,347
Move|36,94
Move|39,286
Move|45,248
Move|50,204
Move|53,95
Move|59,138
Move|64,500
Move|4,93
Move|6,104
Move|9,100
Move|11,574
Move|14,381
Move|17,345
Move|19,505
Move|23,577
Move|26,347
Move|30,94
Move|33,286
Move|37,248
Move|40,204
Move|44,95
Move|47,138
Move|51,500
TradeValue|25
EvolutionCondition|282,level,30,level
EvolutionCondition|475,gender,0,item

View File

@ -43,19 +43,21 @@ Move|1,45
Move|1,93
Move|1,104
Move|1,100
Move|6,93
Move|10,104
Move|12,100
Move|17,273
Move|22,345
Move|25,505
Move|33,347
Move|40,94
Move|45,286
Move|53,248
Move|60,445
Move|65,95
Move|73,138
Move|80,500
Move|85,585
Move|4,93
Move|6,104
Move|9,100
Move|11,574
Move|14,273
Move|17,345
Move|19,505
Move|23,577
Move|26,347
Move|31,94
Move|35,286
Move|40,248
Move|44,445
Move|49,95
Move|53,138
Move|58,500
Move|62,585
TradeValue|40

View File

@ -18,7 +18,7 @@ Ability1|14
Ability2|127
HiddenAbility|68
EggMoves|293,440,50,185,42,40,228,431
Machines|174,92,192,237,173,63,182,240,202,203,218,87,216,104,207,214,111,197,156,213,168,34,36,99,85,102,117,86,164,113,351,263,290,412,451,416,445,404,363,398,496,521,522,528,611,590,15,148,560
Machines|174,92,237,192,173,63,182,240,202,203,218,87,216,104,207,214,111,197,156,213,168,34,36,99,85,102,117,86,164,113,351,263,290,412,451,416,445,404,363,398,496,521,522,528,611,590,15,148,560
BaseHP|70
BaseAttack|77
BaseDefense|60