Merge pull request #4 from CaptainSegis/Exp-additions

Exp additions
This commit is contained in:
Capt_Segis 2016-09-12 16:04:54 -05:00 committed by GitHub
commit 0a9155f05e
4 changed files with 114 additions and 11 deletions

View File

@ -5525,21 +5525,33 @@ endthisround:
End If
End If
'Spikes
If spikeAffected = True Then
If .FieldEffects.OppSpikes > 0 And (p.Ability.Name.ToLower() <> "magic guard" Or .FieldEffects.CanUseAbility(True, BattleScreen, 1) = False) = True Then
If .FieldEffects.OppSpikes > 0 And (p.Ability.Name.ToLower() <> "magic guard" Or BattleScreen.FieldEffects.CanUseAbility(True, BattleScreen, 1) = False) Then
Dim spikeDamage As Double = 1D
Select Case .FieldEffects.OppSpikes
Case 1
spikeDamage = p.MaxHP / 8
spikeDamage = (p.MaxHP / 100) * 12.5D
Case 2
spikeDamage = p.MaxHP / 6
spikeDamage = (p.MaxHP / 100) * 16.7D
Case 3
spikeDamage = p.MaxHP / 4
spikeDamage = (p.MaxHP / 100) * 25D
End Select
ReduceHP(CInt(spikeDamage), True, False, BattleScreen, "The Spikes hurt " & p.GetDisplayName() & "!", "spikes")
End If
End If
'Sticky Web
If spikeAffected = True Then
If .FieldEffects.OppStickyWeb > 0 Then
LowerStat(True, True, BattleScreen, "Speed", 1, "Your pokemon was caught in a sticky web!", "sticky web")
End If
End If
'Toxic Spikes
If spikeAffected = True Then
If .FieldEffects.OppToxicSpikes > 0 And p.Status = Pokemon.StatusProblems.None And p.Type1.Type <> Element.Types.Poison And p.Type2.Type <> Element.Types.Poison Then
Select Case .FieldEffects.OppToxicSpikes
@ -5557,6 +5569,7 @@ endthisround:
End If
End If
'Stealth Rock
If rockAffected = True Then
If .FieldEffects.OppStealthRock > 0 And (p.Ability.Name.ToLower() <> "magic guard" Or BattleScreen.FieldEffects.CanUseAbility(True, BattleScreen, 1) = False) Then
Dim rocksDamage As Double = 1D
@ -5942,16 +5955,24 @@ endthisround:
Dim spikeDamage As Double = 1D
Select Case .FieldEffects.OppSpikes
Case 1
spikeDamage = p.MaxHP / 8
spikeDamage = (p.MaxHP / 100) * 12.5D
Case 2
spikeDamage = p.MaxHP / 6
spikeDamage = (p.MaxHP / 100) * 16.7D
Case 3
spikeDamage = p.MaxHP / 4
spikeDamage = (p.MaxHP / 100) * 25D
End Select
ReduceHP(CInt(spikeDamage), False, True, BattleScreen, "The Spikes hurt " & p.GetDisplayName() & "!", "spikes")
End If
End If
'Sticky Web
If spikeAffected = True Then
If .FieldEffects.OwnStickyWeb > 0 Then
LowerStat(False, False, BattleScreen, "Speed", 1, "The opposing pokemon was caught in a sticky web!", "sticky web")
End If
End If
If spikeAffected = True Then
If .FieldEffects.OwnToxicSpikes > 0 And p.Status = Pokemon.StatusProblems.None And p.Type1.Type <> Element.Types.Poison And p.Type2.Type <> Element.Types.Poison Then
Select Case .FieldEffects.OwnToxicSpikes

View File

@ -94,6 +94,7 @@
Public OwnLastMove As Attack = Nothing 'Last move used
Public OwnSpikes As Integer = 0 'Trap move counter
Public OwnStealthRock As Integer = 0 'Trap move counter
Public OwnStickyWeb As Integer = 0 'Trap move counter
Public OwnToxicSpikes As Integer = 0 'Trap move counter
Public OwnMist As Integer = 0 'Mist move counter
Public OwnGuardSpec As Integer = 0 'Guard spec item counter
@ -111,6 +112,7 @@
'Opp stuff
Public OppSpikes As Integer = 0
Public OppStealthRock As Integer = 0
Public OppStickyWeb As Integer = 0
Public OppToxicSpikes As Integer = 0
Public OppMist As Integer = 0
Public OppGuardSpec As Integer = 0

View File

@ -1374,8 +1374,8 @@
'Belch
'Case 563
'Rototiller
'Case 564
'Sticky Web
Case 564
returnMove = New Moves.Bug.StickyWeb()
'Case 565
'Fell Stinger
'Case 566

View File

@ -0,0 +1,80 @@
Namespace BattleSystem.Moves.Bug
Public Class StickyWeb
Inherits Attack
Public Sub New()
'#Definitions
Me.Type = New Element(Element.Types.Bug)
Me.ID = 564
Me.OriginalPP = 20
Me.CurrentPP = 20
Me.MaxPP = 32
Me.Power = 0
Me.Accuracy = 0
Me.Category = Categories.Status
Me.ContestCategory = ContestCategories.Tough
Me.Name = "Spikes"
Me.Description = "The user weaves a sticky net around the opposing team, which lowers their Speed stat upon switching into battle."
Me.CriticalChance = 0
Me.IsHMMove = False
Me.Target = Targets.AllFoes
Me.Priority = 0
Me.TimesToAttack = 1
'#End
'#SpecialDefinitions
Me.MakesContact = False
Me.ProtectAffected = False
Me.MagicCoatAffected = True
Me.SnatchAffected = False
Me.MirrorMoveAffected = True
Me.KingsrockAffected = False
Me.CounterAffected = False
Me.DisabledWhileGravity = False
Me.UseEffectiveness = False
Me.ImmunityAffected = False
Me.HasSecondaryEffect = False
Me.RemovesFrozen = False
Me.IsHealingMove = False
Me.IsRecoilMove = False
Me.IsPunchingMove = False
Me.IsDamagingMove = False
Me.IsProtectMove = False
Me.IsSoundMove = False
Me.IsAffectedBySubstitute = False
Me.IsOneHitKOMove = False
Me.IsWonderGuardAffected = False
'#End
Me.AIField1 = AIField.Support
Me.AIField2 = AIField.Nothing
End Sub
Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen)
Dim stickyweb As Integer = 0
If own = True Then
stickyweb = BattleScreen.FieldEffects.OwnStickyWeb
Else
stickyweb = BattleScreen.FieldEffects.OppStickyWeb
End If
If stickyweb < 1 Then
If own = True Then
BattleScreen.FieldEffects.OwnStickyWeb += 1
BattleScreen.BattleQuery.Add(New TextQueryObject("A sticky web has been laid beneath the opposite team's feet!"))
Else
BattleScreen.FieldEffects.OppStickyWeb += 1
BattleScreen.BattleQuery.Add(New TextQueryObject("A sticky web has been laid beneath your team's feet!"))
End If
Else
BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!"))
End If
End Sub
End Class
End Namespace