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,8 +131,10 @@
Dim speed As Integer = CInt(p.Speed * GetMultiplierFromStat(p.StatSpeed)) 'Calculate the speed's basic value from the speed and the speed stat 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 own = True Then
If BattleScreen.IsPVPBattle = False Then
If Core.Player.Badges.Contains(3) = 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 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
End If End If

View File

@ -67,6 +67,7 @@
End If End If
Next Next
End If End If
i = i-1
Return i Return i
End Function End Function

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,18 +64,22 @@
End If End If
End Sub 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 Public Overrides Function GetUseAccEvasion(own As Boolean, BattleScreen As BattleScreen) As Boolean
If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Rain Then If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Rain Then
Return False Return False
End If Else
Return True 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 End If
Return Me.Accuracy
End Function End Function
End Class End Class

View File

@ -11,12 +11,12 @@
Me.OriginalPP = 15 Me.OriginalPP = 15
Me.CurrentPP = 15 Me.CurrentPP = 15
Me.MaxPP = 15 Me.MaxPP = 15
Me.Power = 70 Me.Power = 60
Me.Accuracy = 100 Me.Accuracy = 100
Me.Category = Categories.Special Me.Category = Categories.Special
Me.ContestCategory = ContestCategories.Smart Me.ContestCategory = ContestCategories.Smart
Me.Name = "Hidden Power" 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.CriticalChance = 1
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.OneAdjacentTarget Me.Target = Targets.OneAdjacentTarget

View File

@ -60,6 +60,7 @@
BattleScreen.Battle.LowerStat(own, own, BattleScreen, "Special Defense", 1, "", "move:shellsmash") 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, "Attack", 2, "", "move:shellsmash")
BattleScreen.Battle.RaiseStat(own, own, BattleScreen, "Special 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 Sub
End Class End Class

View File

@ -35,7 +35,7 @@
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = True Me.ImmunityAffected = False
Me.HasSecondaryEffect = False Me.HasSecondaryEffect = False
Me.RemovesFrozen = False Me.RemovesFrozen = False

View File

@ -35,7 +35,7 @@
Me.DisabledWhileGravity = False Me.DisabledWhileGravity = False
Me.UseEffectiveness = False Me.UseEffectiveness = False
Me.ImmunityAffected = True Me.ImmunityAffected = False
Me.RemovesFrozen = False Me.RemovesFrozen = False
Me.HasSecondaryEffect = True Me.HasSecondaryEffect = True

View File

@ -16,7 +16,7 @@
Me.Category = Categories.Status Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Cool Me.ContestCategory = ContestCategories.Cool
Me.Name = "Stealth Rock" 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.CriticalChance = 0
Me.IsHMMove = False Me.IsHMMove = False
Me.Target = Targets.AllFoes Me.Target = Targets.AllFoes

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 Ability1|35
Ability2|30 Ability2|30
HiddenAbility|148 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 BaseHP|60
BaseAttack|75 BaseAttack|75
BaseDefense|85 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 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 Scale|1.04
Move|1,55 Move|1,55
Move|1,56
Move|1,229 Move|1,229
Move|1,105 Move|1,105
Move|1,129 Move|1,129

View File

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

View File

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

View File

@ -18,7 +18,7 @@ Ability1|14
Ability2|127 Ability2|127
HiddenAbility|68 HiddenAbility|68
EggMoves|293,440,50,185,42,40,228,431 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 BaseHP|70
BaseAttack|77 BaseAttack|77
BaseDefense|60 BaseDefense|60