From 813a5a373e68a7196f21e1e347c71ef5ea903333 Mon Sep 17 00:00:00 2001 From: Ruan Pablo Date: Thu, 8 Nov 2018 17:34:07 -0200 Subject: [PATCH] Added some Gen 7 moves --- P3D/Battle/BattleSystemV2/Battle.vb | 23 ++ .../BattleSystemV2/BattleCalculation.vb | 8 + P3D/Battle/BattleSystemV2/FieldEffects.vb | 2 + P3D/Battle/BattleSystemV2/PokemonProfile.vb | 5 + P3D/Content/Data/maps/liberty/garden.dat | 4 +- P3D/Content/Data/maps/routes/route35.dat | Bin 61814 -> 61814 bytes P3D/Content/GUI/Menus/SaveBook.png | Bin 10363 -> 14651 bytes P3D/Content/SkyDomeResource/Dark.png | Bin 2137 -> 16460 bytes P3D/Content/SkyDomeResource/Stars.png | Bin 549 -> 17550 bytes P3D/Content/SkyDomeResource/moon.png | Bin 143 -> 896 bytes P3D/Content/SkyDomeResource/sun.png | Bin 163 -> 941 bytes P3D/Content/Textures/NPC/Leaf.png | Bin 2951 -> 17933 bytes P3D/P3D.vbproj | 97 +++++++++ P3D/Pokemon/Attacks/Attack.vb | 154 +++++++------- P3D/Pokemon/Attacks/Bug/FirstImpression.vb | 74 +++++++ P3D/Pokemon/Attacks/Bug/Lunge.vb | 64 ++++++ P3D/Pokemon/Attacks/Bug/PollenPuff.vb | 58 +++++ P3D/Pokemon/Attacks/Dark/BrutalSwing.vb | 60 ++++++ P3D/Pokemon/Attacks/Dark/DarkestLariat.vb | 62 ++++++ P3D/Pokemon/Attacks/Dark/PowerTrip.vb | Bin 0 -> 5820 bytes P3D/Pokemon/Attacks/Dragon/ClangingScales.vb | 64 ++++++ P3D/Pokemon/Attacks/Dragon/DragonHammer.vb | 60 ++++++ P3D/Pokemon/Attacks/Electric/ZingZap.vb | 67 ++++++ P3D/Pokemon/Attacks/Fairy/FleurCannon.vb | 64 ++++++ P3D/Pokemon/Attacks/Fairy/NaturesMadness.vb | 72 +++++++ P3D/Pokemon/Attacks/Fighting/Power-UpPunch.vb | 4 +- P3D/Pokemon/Attacks/Fire/BurnUp.vb | 94 ++++++++ P3D/Pokemon/Attacks/Fire/FireLash.vb | 64 ++++++ P3D/Pokemon/Attacks/Ghost/ShadowBone.vb | 68 ++++++ P3D/Pokemon/Attacks/Ghost/SpiritShackle.vb | 78 +++++++ P3D/Pokemon/Attacks/Grass/Leafage.vb | 57 +++++ P3D/Pokemon/Attacks/Grass/SolarBlade.vb | 201 ++++++++++++++++++ P3D/Pokemon/Attacks/Grass/Strength Sap.vb | 92 ++++++++ P3D/Pokemon/Attacks/Grass/TropKick.vb | 64 ++++++ P3D/Pokemon/Attacks/Ground/HighHorsepower.vb | 57 +++++ P3D/Pokemon/Attacks/Ground/SHoreUp.vb | 83 ++++++++ P3D/Pokemon/Attacks/Ice/IceHammer.vb | 61 ++++++ P3D/Pokemon/Attacks/Normal/RevelationDance.vb | 71 +++++++ P3D/Pokemon/Attacks/Normal/TearfulLook.vb | 68 ++++++ P3D/Pokemon/Attacks/Poison/ToxicThread.vb | 68 ++++++ P3D/Pokemon/Attacks/Psychic/PrismaticLaser.vb | 68 ++++++ P3D/Pokemon/Attacks/Psychic/PsychicFangs.vb | 90 ++++++++ P3D/Pokemon/Attacks/Psychic/StoredPower.vb | Bin 5898 -> 5826 bytes P3D/Pokemon/Attacks/Rock/Accelerock.vb | 60 ++++++ P3D/Pokemon/Attacks/Steel/AnchorShot.vb | 78 +++++++ P3D/Pokemon/Attacks/Steel/GearUp.vb | 72 +++++++ P3D/Pokemon/Attacks/Steel/SmartStrike.vb | 61 ++++++ P3D/Pokemon/Attacks/Water/Liquidation.vb | 68 ++++++ P3D/Pokemon/Attacks/Water/SparklingAria.vb | 69 ++++++ 49 files changed, 2555 insertions(+), 79 deletions(-) create mode 100644 P3D/Pokemon/Attacks/Bug/FirstImpression.vb create mode 100644 P3D/Pokemon/Attacks/Bug/Lunge.vb create mode 100644 P3D/Pokemon/Attacks/Bug/PollenPuff.vb create mode 100644 P3D/Pokemon/Attacks/Dark/BrutalSwing.vb create mode 100644 P3D/Pokemon/Attacks/Dark/DarkestLariat.vb create mode 100644 P3D/Pokemon/Attacks/Dark/PowerTrip.vb create mode 100644 P3D/Pokemon/Attacks/Dragon/ClangingScales.vb create mode 100644 P3D/Pokemon/Attacks/Dragon/DragonHammer.vb create mode 100644 P3D/Pokemon/Attacks/Electric/ZingZap.vb create mode 100644 P3D/Pokemon/Attacks/Fairy/FleurCannon.vb create mode 100644 P3D/Pokemon/Attacks/Fairy/NaturesMadness.vb create mode 100644 P3D/Pokemon/Attacks/Fire/BurnUp.vb create mode 100644 P3D/Pokemon/Attacks/Fire/FireLash.vb create mode 100644 P3D/Pokemon/Attacks/Ghost/ShadowBone.vb create mode 100644 P3D/Pokemon/Attacks/Ghost/SpiritShackle.vb create mode 100644 P3D/Pokemon/Attacks/Grass/Leafage.vb create mode 100644 P3D/Pokemon/Attacks/Grass/SolarBlade.vb create mode 100644 P3D/Pokemon/Attacks/Grass/Strength Sap.vb create mode 100644 P3D/Pokemon/Attacks/Grass/TropKick.vb create mode 100644 P3D/Pokemon/Attacks/Ground/HighHorsepower.vb create mode 100644 P3D/Pokemon/Attacks/Ground/SHoreUp.vb create mode 100644 P3D/Pokemon/Attacks/Ice/IceHammer.vb create mode 100644 P3D/Pokemon/Attacks/Normal/RevelationDance.vb create mode 100644 P3D/Pokemon/Attacks/Normal/TearfulLook.vb create mode 100644 P3D/Pokemon/Attacks/Poison/ToxicThread.vb create mode 100644 P3D/Pokemon/Attacks/Psychic/PrismaticLaser.vb create mode 100644 P3D/Pokemon/Attacks/Psychic/PsychicFangs.vb create mode 100644 P3D/Pokemon/Attacks/Rock/Accelerock.vb create mode 100644 P3D/Pokemon/Attacks/Steel/AnchorShot.vb create mode 100644 P3D/Pokemon/Attacks/Steel/GearUp.vb create mode 100644 P3D/Pokemon/Attacks/Steel/SmartStrike.vb create mode 100644 P3D/Pokemon/Attacks/Water/Liquidation.vb create mode 100644 P3D/Pokemon/Attacks/Water/SparklingAria.vb diff --git a/P3D/Battle/BattleSystemV2/Battle.vb b/P3D/Battle/BattleSystemV2/Battle.vb index 1031e29c9..e7fce6728 100644 --- a/P3D/Battle/BattleSystemV2/Battle.vb +++ b/P3D/Battle/BattleSystemV2/Battle.vb @@ -162,6 +162,14 @@ Exit Sub End If + 'Solar Blade: + If BattleScreen.FieldEffects.OwnSolarBlade >= 1 Then + SelectedMoveOwn = False + DeleteHostQuery(BattleScreen) + InitializeRound(BattleScreen, New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = GetPokemonMoveFromID(BattleScreen.OwnPokemon, 669)}) + Exit Sub + End If + 'Sky Attack: If BattleScreen.FieldEffects.OwnSkyAttackCounter >= 1 Then SelectedMoveOwn = False @@ -348,6 +356,12 @@ Return New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = GetPokemonMoveFromID(BattleScreen.OppPokemon, 76)} End If + 'Solar Blade: + If BattleScreen.FieldEffects.OppSolarBlade >= 1 Then + SelectedMoveOpp = False + Return New RoundConst() With {.StepType = RoundConst.StepTypes.Move, .Argument = GetPokemonMoveFromID(BattleScreen.OppPokemon, 669)} + End If + 'Sky Attack: If BattleScreen.FieldEffects.OppSkyAttackCounter >= 1 Then SelectedMoveOpp = False @@ -981,6 +995,7 @@ Dim skullBash As Integer Dim skyAttack As Integer Dim solarBeam As Integer + Dim solarBlade As Integer Dim razorWind As Integer Dim bide As Integer @@ -1002,6 +1017,7 @@ skullBash = .OwnSkullBashCounter skyAttack = .OwnSkyAttackCounter solarBeam = .OwnSolarBeam + solarBlade = .OwnSolarBlade razorWind = .OwnRazorWindCounter bide = .OwnBideCounter Else @@ -1016,6 +1032,7 @@ skullBash = .OppSkullBashCounter skyAttack = .OppSkyAttackCounter solarBeam = .OppSolarBeam + solarBlade = .OppSolarBlade razorWind = .OppRazorWindCounter bide = .OppBideCounter End If @@ -1069,6 +1086,10 @@ If solarBeam = 0 And BattleScreen.FieldEffects.Weather <> BattleWeather.WeatherTypes.Sunny Then Return True End If + Case "solar blade" + If solarBlade = 0 And BattleScreen.FieldEffects.Weather <> BattleWeather.WeatherTypes.Sunny Then + Return True + End If Case "razor wind" If razorWind = 0 Then Return True @@ -6177,6 +6198,7 @@ .OwnDefenseCurl = 0 .OwnCharge = 0 .OwnSolarBeam = 0 + .OwnSolarBlade = 0 If .OwnUsedBatonPass = False Then .OwnLeechSeed = 0 If .OwnUsedBatonPass = False Then .OwnLockOn = 0 .OwnLansatBerry = 0 @@ -6515,6 +6537,7 @@ .OppDefenseCurl = 0 .OppCharge = 0 .OppSolarBeam = 0 + .OppSolarBlade = 0 If .OppUsedBatonPass = False Then .OppLeechSeed = 0 If .OppUsedBatonPass = False Then .OppLockOn = 0 .OppLansatBerry = 0 diff --git a/P3D/Battle/BattleSystemV2/BattleCalculation.vb b/P3D/Battle/BattleSystemV2/BattleCalculation.vb index e0ddc10c5..ba15a77da 100644 --- a/P3D/Battle/BattleSystemV2/BattleCalculation.vb +++ b/P3D/Battle/BattleSystemV2/BattleCalculation.vb @@ -1500,6 +1500,10 @@ DSM = 1.0F End If + If Attack.ID = 663 Then 'Darkest Lariat + DSM = 1.0F + End If + If Attack.Name.ToLower() = "selfdestruct" Or Attack.Name.ToLower() = "explosion" Then SX = 1.0F End If @@ -1528,6 +1532,10 @@ DSM = 1.0F End If + If Attack.ID = 663 Then 'Darkest Lariat + DSM = 1.0F + End If + If Op.Ability.Name.ToLower() = "flower gift" Then If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Sunny Then DMod = 1.5F diff --git a/P3D/Battle/BattleSystemV2/FieldEffects.vb b/P3D/Battle/BattleSystemV2/FieldEffects.vb index 0db422b00..daaabc88d 100644 --- a/P3D/Battle/BattleSystemV2/FieldEffects.vb +++ b/P3D/Battle/BattleSystemV2/FieldEffects.vb @@ -51,6 +51,7 @@ Public OwnLastDamage As Integer = 0 'Last Damage the own Pokémon has done by moves. Public OwnLeechSeed As Integer = 0 'The opponent used leech seed Public OwnSolarBeam As Integer = 0 'Charge counter for solar beam + Public OwnSolarBlade As Integer = 0 'Charge counter for solar blade Public OwnLockOn As Integer = 0 'Counter for the moves lock-on and mind reader Public OwnBideCounter As Integer = 0 'Counter for the Bide move Public OwnBideDamage As Integer = 0 'Half of the damage dealt by bide @@ -179,6 +180,7 @@ Public OppLastDamage As Integer = 0 Public OppLeechSeed As Integer = 0 Public OppSolarBeam As Integer = 0 + Public OppSolarBlade As Integer = 0 Public OppLockOn As Integer = 0 Public OppBideCounter As Integer = 0 Public OppBideDamage As Integer = 0 diff --git a/P3D/Battle/BattleSystemV2/PokemonProfile.vb b/P3D/Battle/BattleSystemV2/PokemonProfile.vb index fe757990b..985c65511 100644 --- a/P3D/Battle/BattleSystemV2/PokemonProfile.vb +++ b/P3D/Battle/BattleSystemV2/PokemonProfile.vb @@ -219,6 +219,10 @@ ''' Public SolarBeam As Integer = 0 ''' + ''' Solar blade move counter. + ''' + Public SolarBlade As Integer = 0 + ''' ''' Ice Burn move counter. ''' Public IceBurn As Integer = 0 @@ -457,6 +461,7 @@ Me.DefenseCurl = 0 Me.Charge = 0 Me.SolarBeam = 0 + Me.SolarBlade = 0 Me.LansatBerry = 0 Me.CustapBerry = 0 Me.Trapped = 0 diff --git a/P3D/Content/Data/maps/liberty/garden.dat b/P3D/Content/Data/maps/liberty/garden.dat index bf258394b..e458b5158 100644 --- a/P3D/Content/Data/maps/liberty/garden.dat +++ b/P3D/Content/Data/maps/liberty/garden.dat @@ -20,8 +20,8 @@ Grass: {"Floor"{ENT[{"Size"{intArr[6,1]}}{"SeasonTexture"{str[Grass]}}{"Position"{intArr[20,2,24]}}{"TexturePath"{str[Routes]}}{"Texture"{rec[96,16,16,16]}}]}} Water: -{"EntityField"{ENT[{"Size"{intArr[4,6]}}{"EntityID"{str[Water]}}{"Position"{sngArr[45,-0.25,26]}}{"TexturePath"{str[Routes]}}{"Textures"{recArr[[240,0,4,4][144,16,16,16]]}}{"TextureIndex"{intArr[0,0,1,1]}}{"Collision"{bool[0]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}} -{"EntityField"{ENT[{"Size"{intArr[2,8]}}{"EntityID"{str[Water]}}{"Position"{sngArr[46,-0.25,25]}}{"TexturePath"{str[Routes]}}{"Textures"{recArr[[240,0,4,4][144,16,16,16]]}}{"TextureIndex"{intArr[0,0,1,1]}}{"Collision"{bool[0]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}} +{"EntityField"{ENT[{"Size"{intArr[4,6]}}{"EntityID"{str[Water]}}{"Position"{sngArr[45,-0.25,26]}}{"TexturePath"{str[routes]}}{"Textures"{recArr[[240,0,4,4][192,160,16,16]]}}{"TextureIndex"{intArr[1,1,1,1]}}{"Collision"{bool[0]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}} +{"EntityField"{ENT[{"Size"{intArr[2,8]}}{"EntityID"{str[Water]}}{"Position"{sngArr[46,-0.25,25]}}{"TexturePath"{str[routes]}}{"Textures"{recArr[[240,0,4,4][192,160,16,16]]}}{"TextureIndex"{intArr[1,1,1,1]}}{"Collision"{bool[0]}}{"ModelID"{int[0]}}{"Action"{int[0]}}{"AdditionalValue"{str[]}}{"Rotation"{int[0]}}]}} Upper Platform: {"Floor"{ENT[{"Size"{intArr[12,8]}}{"Position"{intArr[17,3,13]}}{"TexturePath"{str[park]}}{"Texture"{rec[0,0,16,16]}}]}} diff --git a/P3D/Content/Data/maps/routes/route35.dat b/P3D/Content/Data/maps/routes/route35.dat index f663acdb48f90dd6a9ff54a30bf1857ff1ece84b..f5122725d1460b1850d52cdd70e4356a584e1d96 100644 GIT binary patch delta 48 zcmezNi22(i<_$)BCOe#F+x%&p9^>Q*F*=hS8tpb;*ek>c5}o{M+pEbB*jYAT+rPjN E0A0fva{vGU delta 35 lcmezNi22(i<_$)BCVx15Z}NsG9GfNfo??V^PV8T22mpsC6=whd diff --git a/P3D/Content/GUI/Menus/SaveBook.png b/P3D/Content/GUI/Menus/SaveBook.png index fa566cd41ec579c9d61539e1ff4e5c8a76a4366a..04ec99bd3bb1c0e526d2df62bd50d0d67c004870 100644 GIT binary patch literal 14651 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
    M<>=}uBCJUMC%n5?7aq;*2X&ar^El|Si`TCbT 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 diff --git a/P3D/Content/SkyDomeResource/Dark.png b/P3D/Content/SkyDomeResource/Dark.png index 1091b0f7da110af2308f74f08297c720ee2908d5..fbc20ccf131c2171323f47535ed7b6c1014da427 100644 GIT binary patch literal 16460 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 literal 2137 zcmbuAX*k>29>@Q}ErJ__24ksS%R@;prS@3bhIXvQAZ<}3YKbj`L8Ya{rPa<=Z7JGX za%-(3(Q3+ACYB-Aq0yv@hKgO&5W>~xzPk6$Jo7wrU!3Q6&gVJb-#O>a`Q*5}qGZ4- zU;qGQoSja40)WWjR0NO!9hNa!r14>qjB)ad2LLJP*C7HFJyJS^;&^A5Gvc!#MJWYc znfj|%he++JmoMHiIw~p@hd*2bfMZ-}5I!{I7~v{D>=??~#XSTbDt;JcIG?unN@A|C z&L>WrDG-Bh3>`Ni9UZAWxmESn?;_#isfcRUKX9FP;$Y>hA9BUE1^f2-D`QRyM2%Ly zd}e1h3!(VjJKO~T0b+mzAPXD=>;U4|TmL7>)eZ-NA_>FU>mAnzH*v)pR+X}y``IDd z&7jEJYhCSIqKDzYZ$=Kr=Hj7J+L9fGlCC$2ih&sqc#Ux)vkXaG$Ue_yQi0C&H9q># zd{#xwNzcZ{_LK&uGlzmp86mY>nBX|K-O7-O{)nvgJ9X%3n1+2;!6<_k02e2Dd!IU} zbCCG{GV1PwY*9xtW%Vg@H{l(%cVjlxhxm%0jA<%JR}|#87^n&lvC{VJB;)nV8apVX z?IX6pd)^gNGSaksFP=J0d-JCBt|lK_LtZ^kNJR~l6ph0%Xf{LZJz;ZmGj89K9w72% z4ck$NvG*mcp4`VuX(|a%^b(3Sh6;X+&!v7RV)QAp#8lbP!hdN6JS@e;TyVN%w`n;N zX(*;*MY7yFF{IU?>j0aVd#qN}#=6l7f6B{S(ZRBC(#3o+I9?lq74x;v?wLJU*M&^XH56aY zz1>{kkYZE9cFy+0*a$oo9eQKRXBL?%HTq`ggEiH*^4iIzjlnBZ4V(lO3S3!DZG|N3 zkkLP>&9O3CbzmeeOEa7;e_3oL_f(9))jo--g<-yjcEoqFM>LKVaWM} zE9c%*yKQZ3(*=96rlt=g3D;jx-Nxit)LgxrPea}F!I4JbqL(`f(Lw$GXCLv)K@0gF zdS!PRcZ*#u7FoAegQ(>llm6dl|kycZ=Vh8 zr?}oQ;%7}4?Mw|$n{ z){VRN?W*N$*%YgVo$@^G^QYiVzuMBRO?*;|9xdw0N#p#p^_1c9n@IM$dC*yL870Md ziP0mO-!$%_Tr{ocRjXiTPE1_0%3rg0S4z+@=;PfxsQQ#j8e-8lLHg%9#I#SXVzQ3L zBCAcDU_FJ8Ngay!p0Tw%7tP9OwOwYn?`_pB2gaS#smlFQG;(0Gyu;_AH=Z@C8#}Kn zOn7~`R%M1THm!2+(E;}pyaM@lozRHIu$T1t39g~*M8@>qVp@f~+Rn#;0JnhBc)G>z zmJHLr%#)eF?ds8>9uq$6X6Yx=PZsH#eocU0Mf!sWLmGb|=o_jh=+#)|pcaLVf{hkA zUr`zg9j&4tWz30_-wWdJ^FAU6OH5JitJ2B=eiQ`-%G@?(cVnXU!JU`oc) zP21%4xGCc(R+(Q{|845$^4Xz zB&`DTDQCuXB|V9Q=|iXoyxXDk3@n>M;EjI)7rJ{& diff --git a/P3D/Content/SkyDomeResource/Stars.png b/P3D/Content/SkyDomeResource/Stars.png index 30125e6a2468d6f3b6a90a32b45d8111d7b32c57..9c46a1601d18f4e9ddf8ea0b98a3bc4e95ff6c64 100644 GIT binary patch literal 17550 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 E0FL`|c>n+a literal 549 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|G!U;i$lZxy-8q?;Kn_c~qpu?a z!^VE@KZ&eBK4*bPWHAE+-(e7DJf6QI1*l<{r;B4qMcmt)j(kl90;~b=>N8o7wzL{X zW&X~*AAPdVpnh4i4p1{XVBWFz+kBwlmdB+!GafN8Tuz3nm-{-+aFvh&$b1F{jcdP(XP>W@ z*?P*kvURB^!0he;>H5s`9?(KFHOcu6{1-oD!M<)jxtT diff --git a/P3D/Content/SkyDomeResource/moon.png b/P3D/Content/SkyDomeResource/moon.png index 2f89b41b1643f91bb14679c7286e92a6b3612680..b3834a10c5516f351cea2cb3353b6a9c6e464b00 100644 GIT binary patch delta 860 zcmV-i1Ec(p0e}aPBYy(ddQ@0+Qek%>aB^>EX>4U6ba`-PAZ2)IW&i+q+O3sqlI$i7 zh5xgPECERfiRA!>s_Y=k&jB;tJ#%~RBNbByEDHhW6LuK?{5`{8>nff?QuADLj<`}u zg)2H9@9SDb$6dw;Ngci2y$j~P!uSu-;_ z$Ink7;oDB+={;KQcxUQ>>zf5W<%+L3Nh52l<1;Llg4g4ttBNM47r)P zvuv9~{=$7jNvqIg1BNSr5laU(ftep`p*?Te^L28}d=WgE5R5S5hZ5cy|4VrUnscQt zQS^smSQjtBv5fV!YIp$%&Euh4-(A8>-ozKM0)o0_c7JTJ#&(BjO3&Pq%~{~5F@<;^ z4YKP5fJB&Eu^18%h?ztwQ#58Hf{qS86)R^++(3X-`JynvMkE7{^O_rDjJ7W;-)4MT z074~;0SyicV5OwUA4`rLsw$d-s%ABHEn2hWlr`sUd3~d*i6v9ZX69C`x_EN+?B?#p zYvCgJgnwzt#X|8?O0Af*B6P**3XfVFH)*M9%gvg%(rQQg^whQIZryw7_2Nq|9RDj{ z7B0WaRR;~E(nv!`9yWZGQ73Y3%1l#do;H1!Ss&Es9NSOS=nJ`@Q=>y|5lh?8p44DA z`v^hnbE1nGh;bqiw?zO6&5K!dN{JV_#Vi)ap?^>YHPQv=qD2e@(;(JK4|Y#-KjjuQ z{Si0*j$Byi{tt3tp*!S$Sk{R{=-QFgt0$wG&1s{c_Ex#| zwZiqss{Cyme&z7H?Ylq|8z|vlKcvDx8!t?Q00006VoOIv051SP0CFqtu@?XU010qN zS&>B%QU`QNO+^Rd3L6X)62ZI?r~m)}DoI2^R5;7+!7&j4Fbo5+KXWZU?*(HPnNuD; mOW0lkXl787Bj8e1^|uG}stK)Y@<7-C0000NS%G}c0*}aI1_r*vAk26? ze?~{Y1nc4iksh7{2N)P`m~xswUY~9P PRL|h)>gTe~DWM4f{%R$s diff --git a/P3D/Content/SkyDomeResource/sun.png b/P3D/Content/SkyDomeResource/sun.png index f418b228f9fdba6eed7dd559a64e62cc6b343b56..5398ea9ac11fb0c4f40f6860a422be2fb0fb765c 100644 GIT binary patch delta 899 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 z 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%0ABt0GV*I*8#$F{@ z9Lr-8O+BDg56R0f*$^CGGx&atXzk=S!gSJ7IAekW(bf6|D`kiHD6DOVF*uCLeEEl# zUqT4^(XmD^!4h22CCk>i{Qa76H^n2A`z^ffYn_;+(*skTocS7iKrLO0dT8tcz0^!F rG_=Tr*E*5|ibEy(7=qA4je!3Ge}@7Dy&p>?00000NkvXXu0mjf|13BI delta 2946 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 + + PreserveNewest + + + PreserveNewest + PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest @@ -25520,6 +25535,15 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest @@ -25529,6 +25553,12 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + PreserveNewest @@ -25541,18 +25571,48 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + PreserveNewest PreserveNewest + + PreserveNewest + PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest + + PreserveNewest + + + PreserveNewest + PreserveNewest @@ -25568,12 +25628,21 @@ PreserveNewest + + PreserveNewest + PreserveNewest PreserveNewest + + PreserveNewest + + + PreserveNewest + PreserveNewest @@ -25594,9 +25663,16 @@ PreserveNewest + + PreserveNewest + PreserveNewest + + PreserveNewest + + PreserveNewest @@ -25607,9 +25683,30 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest + + PreserveNewest + + + PreserveNewest + PreserveNewest diff --git a/P3D/Pokemon/Attacks/Attack.vb b/P3D/Pokemon/Attacks/Attack.vb index 4c1a4b0cc..a3abb846b 100644 --- a/P3D/Pokemon/Attacks/Attack.vb +++ b/P3D/Pokemon/Attacks/Attack.vb @@ -1486,7 +1486,7 @@ returnMove = New Moves.Flying.DragonAscent() Case 621 returnMove = New Moves.Dark.HyperspaceFury() - '------------------------------------------------BEGIN Z MOVE STREAK + '------------------------------------------------BEGIN Z MOVE STREAK 1 'Case 622 'Breakneck Blitz - Physical 'Case 623 @@ -1561,79 +1561,80 @@ 'Twinkle Tackle - Special 'Case 658 'Catastropika - '------------------------------------------------END Z MOVE STREAK - 'Case 659 - 'returnMove = New Moves.Ground.ShoreUp() - 'Case 660 - 'returnMove = New Moves.Bug.FirstImpression() + '------------------------------------------------END Z MOVE STREAK 1 + Case 659 + returnMove = New Moves.Ground.ShoreUp() + Case 660 + returnMove = New Moves.Bug.FirstImpression() 'Case 661 'Baneful Bunker - 'Case 662 - 'returnMove = New Moves.Ghost.SpiritShackle() - 'Case 663 - 'returnMove = New Moves.Dark.DarkestLariat() - 'Case 664 - 'returnMove = New Moves.Water.SparklingAria() - 'Case 665 - 'returnMove = New Moves.Ice.IceHammer() + Case 662 + returnMove = New Moves.Ghost.SpiritShackle() + Case 663 + returnMove = New Moves.Dark.DarkestLariat() + Case 664 + returnMove = New Moves.Water.SparklingAria() + Case 665 + returnMove = New Moves.Ice.IceHammer() 'Case 666 'Floral Healing - Double Battles - 'Case 667 - 'returnMove = New Moves.Ground.HighHorsepower() - 'Case 668 - 'returnMove = New Moves.Grass.StrengthSap() - 'Case 669 - 'returnMove = New Moves.Grass.SolarBlade() - 'Case 670 - 'returnMove = New Moves.Grass.Leafage() + Case 667 + returnMove = New Moves.Ground.HighHorsepower() + Case 668 + returnMove = New Moves.Grass.StrengthSap() + Case 669 + returnMove = New Moves.Grass.SolarBlade() + Case 670 + returnMove = New Moves.Grass.Leafage() 'Case 671 'Spotlight - 'Case 672 - 'returnMove = New Moves.Poison.ToxicThread() + Case 672 + returnMove = New Moves.Poison.ToxicThread() 'Case 673 'Laser Focus - 'Case 674 - 'returnMove = New Moves.Steel.GearUp() + Case 674 + returnMove = New Moves.Steel.GearUp() 'Case 675 'Throat Chop - 'Case 676 - 'returnMove = New Moves.Bug.PollenPuff() - 'Case 677 - 'returnMove = New Moves.Steel.AnchorShot() + Case 676 + returnMove = New Moves.Bug.PollenPuff() + Case 677 + returnMove = New Moves.Steel.AnchorShot() 'Case 678 'Psychic Terrain - 'Case 679 - 'returnMove = New Moves.Bug.Lunge() - 'Case 680 - 'returnMove = New Moves.Fire.FireLash() - 'Case 681 - 'returnMove = New Moves.Dark.PowerTrip() - 'Case 682 - 'returnMove = New Moves.Fire.BurnUp() + Case 679 + returnMove = New Moves.Bug.Lunge() + Case 680 + returnMove = New Moves.Fire.FireLash() + Case 681 + returnMove = New Moves.Dark.PowerTrip() + Case 682 + returnMove = New Moves.Fire.BurnUp() 'Case 683 'Speed Swap - 'Case 684 - 'returnMove = New Moves.Steel.SmartStrike() + Case 684 + returnMove = New Moves.Steel.SmartStrike() 'Case 685 'Purify - Double Battles - 'Case 686 - 'returnMove = New Moves.Normal.RevelationDance() + Case 686 + returnMove = New Moves.Normal.RevelationDance() 'Case 687 'Core Enforcer - 'Case 688 - 'returnMove = New Moves.Grass.TropKick() + Case 688 + returnMove = New Moves.Grass.TropKick() 'Case 689 'Instruct 'Case 690 'Beak Blast - 'Case 691 - 'returnMove = New Moves.Dragon.ClangingScales() - 'Case 692 - 'returnMove = New Moves.Dragon.DragonHammer() - 'Case 693 - 'returnMove = New Moves.Dark.BrutalSwing() - 'Case 694 - 'returnMove = New Moves.Ice.AuroraVeil() + Case 691 + returnMove = New Moves.Dragon.ClangingScales() + Case 692 + returnMove = New Moves.Dragon.DragonHammer() + Case 693 + returnMove = New Moves.Dark.BrutalSwing() + 'Case 694 + 'Aurora Veil + '------------------------------------------------BEGIN Z MOVE STREAK 2 'Case 695 'Sinister Arrow Raid - Z-Move 'Case 696 @@ -1652,44 +1653,46 @@ 'Extreme Evoboost - Z-Move 'Case 703 'Genesis Supernova - Z-Move + '------------------------------------------------END Z MOVE STREAK 2 'Case 704 'Shell Trap - 'Case 705 - 'returnMove = New Moves.Fairy.FleurCannon() - 'Case 706 - 'returnMove = New Moves.Psychic.PsychicFangs() + Case 705 + returnMove = New Moves.Fairy.FleurCannon() + Case 706 + returnMove = New Moves.Psychic.PsychicFangs() 'Case 707 'Stomping Tantrum - 'Case 708 - 'returnMove = New Moves.Ghost.ShadowBone() - 'Case 709 - 'returnMove = New Moves.Rock.Accelerock() - 'Case 710 - 'returnMove = New Moves.Water.Liquidation() - 'Case 711 - 'returnMove = New Moves.Psychic.PrismaticLaser() + Case 708 + returnMove = New Moves.Ghost.ShadowBone() + Case 709 + returnMove = New Moves.Rock.Accelerock() + Case 710 + returnMove = New Moves.Water.Liquidation() + Case 711 + returnMove = New Moves.Psychic.PrismaticLaser() 'Case 712 'Spectral Thief - 'Case 713 + 'Case 713 'returnMove = New Moves.Steel.SunsteelStrike() - 'Case 714 + 'Case 714 'returnMove = New Moves.Ghost.MoongeistBeam() - 'Case 715 - 'returnMove = New Moves.Normal.TearfulLook() - 'Case 716 - 'returnMove = New Moves.Electric.ZingZap() - 'Case 717 - 'returnMove = New Moves.Fairy.NaturesMadness() - 'Case 718 - 'returnMove = New Moves.Normal.Multi-Attack() + Case 715 + returnMove = New Moves.Normal.TearfulLook() + Case 716 + returnMove = New Moves.Electric.ZingZap() + Case 717 + returnMove = New Moves.Fairy.NaturesMadness() + 'Case 718 + 'returnMove = New Moves.Normal.MultiAttack() 'Case 719 '10,000,000 Volt Thunderbolt - Z-Move - 'Case 720 + 'Case 720 'returnMove = New Moves.Fire.MindBlown() 'Case 721 'Plasma Fists 'Case 722 'Photon Geyser + '------------------------------------------------BEGIN Z MOVE STREAK 3 'Case 723 'Light That Burns The Sky - Z-Move 'Case 724 @@ -1702,6 +1705,7 @@ 'Splintered Stormshards - Z-Move 'Case 728 'Clangorous Soulblaze - Z-Move + '------------------------------------------------END Z MOVE STREAK 3 'Case 729 'Blank Case 999 diff --git a/P3D/Pokemon/Attacks/Bug/FirstImpression.vb b/P3D/Pokemon/Attacks/Bug/FirstImpression.vb new file mode 100644 index 000000000..d63982c56 --- /dev/null +++ b/P3D/Pokemon/Attacks/Bug/FirstImpression.vb @@ -0,0 +1,74 @@ +Namespace BattleSystem.Moves.Bug + + Public Class FirstImpression + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Bug) + Me.ID = 660 + Me.OriginalPP = 10 + Me.CurrentPP = 10 + Me.MaxPP = 10 + Me.Power = 90 + Me.Accuracy = 100 + Me.Category = Categories.Physical + Me.ContestCategory = ContestCategories.Tough + Me.Name = "First Impression" + Me.Description = "Although this move has great power, it only works the first turn the user is in battle." + Me.CriticalChance = 1 + Me.IsHMMove = False + Me.Target = Targets.OneAdjacentTarget + Me.Priority = 2 + Me.TimesToAttack = 1 + '#End + + '#SpecialDefinitions + Me.MakesContact = True + 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.HasSecondaryEffect = False + Me.RemovesFrozen = False + + 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.Nothing + End Sub + + Public Overrides Function MoveFailBeforeAttack(Own As Boolean, BattleScreen As BattleScreen) As Boolean + Dim turns As Integer = BattleScreen.FieldEffects.OwnPokemonTurns + If Own = False Then + turns = BattleScreen.FieldEffects.OppPokemonTurns + End If + + If turns > 0 Then + BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) + Return True + Else + Return False + End If + End Function + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Bug/Lunge.vb b/P3D/Pokemon/Attacks/Bug/Lunge.vb new file mode 100644 index 000000000..203c62362 --- /dev/null +++ b/P3D/Pokemon/Attacks/Bug/Lunge.vb @@ -0,0 +1,64 @@ +Namespace BattleSystem.Moves.Bug + + Public Class Lunge + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Bug) + Me.ID = 679 + Me.OriginalPP = 15 + Me.CurrentPP = 15 + Me.MaxPP = 15 + Me.Power = 80 + Me.Accuracy = 100 + Me.Category = Categories.Physical + Me.ContestCategory = ContestCategories.Tough + Me.Name = "Lunge" + Me.Description = "The user makes a lunge at the target, attacking with full force. This also lowers the target's Attack stat." + Me.CriticalChance = 1 + Me.IsHMMove = False + Me.Target = Targets.OneAdjacentTarget + Me.Priority = 0 + Me.TimesToAttack = 1 + '#End + + '#SpecialDefinitions + Me.MakesContact = True + 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.HasSecondaryEffect = False + Me.RemovesFrozen = False + + 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.LowerAttack + End Sub + + Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) + BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Attack", 1, "", "move:lunge") + End Sub + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Bug/PollenPuff.vb b/P3D/Pokemon/Attacks/Bug/PollenPuff.vb new file mode 100644 index 000000000..24556ac41 --- /dev/null +++ b/P3D/Pokemon/Attacks/Bug/PollenPuff.vb @@ -0,0 +1,58 @@ +Namespace BattleSystem.Moves.Bug + + Public Class PollenPuff + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Bug) + Me.ID = 676 + Me.OriginalPP = 15 + Me.CurrentPP = 15 + Me.MaxPP = 15 + Me.Power = 90 + Me.Accuracy = 100 + Me.Category = Categories.Special + Me.ContestCategory = ContestCategories.Beauty + Me.Name = "Pollen Puff" + Me.Description = "The user attacks the enemy with a pollen puff that explodes. If the target is an ally, it gives the ally a pollen puff that restores its HP instead." + Me.CriticalChance = 1 + Me.IsHMMove = False + Me.Target = Targets.OneAdjacentFoe + 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 = False + + Me.DisabledWhileGravity = False + Me.UseEffectiveness = True + Me.ImmunityAffected = True + Me.RemovesFrozen = False + Me.HasSecondaryEffect = False + + 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 + Me.IsBulletMove = True + '#End + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Attacks/Dark/BrutalSwing.vb b/P3D/Pokemon/Attacks/Dark/BrutalSwing.vb new file mode 100644 index 000000000..3ac62b9f5 --- /dev/null +++ b/P3D/Pokemon/Attacks/Dark/BrutalSwing.vb @@ -0,0 +1,60 @@ +Namespace BattleSystem.Moves.Dark + + Public Class BrutalSwing + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Dark) + Me.ID = 693 + Me.OriginalPP = 20 + Me.CurrentPP = 20 + Me.MaxPP = 20 + Me.Power = 60 + Me.Accuracy = 100 + Me.Category = Categories.Physical + Me.ContestCategory = ContestCategories.Tough + Me.Name = "Brutal Swing" + Me.Description = "The user swings its body around violently to inflict damage on everything in its vicinity." + Me.CriticalChance = 1 + Me.IsHMMove = False + Me.Target = Targets.AllAdjacentTargets + Me.Priority = 0 + Me.TimesToAttack = 1 + '#End + + '#SpecialDefinitions + Me.MakesContact = True + 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.HasSecondaryEffect = False + Me.RemovesFrozen = False + + 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.Nothing + End Sub + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Dark/DarkestLariat.vb b/P3D/Pokemon/Attacks/Dark/DarkestLariat.vb new file mode 100644 index 000000000..c2590212a --- /dev/null +++ b/P3D/Pokemon/Attacks/Dark/DarkestLariat.vb @@ -0,0 +1,62 @@ +Namespace BattleSystem.Moves.Dark + + Public Class DarkestLariat + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Dark) + Me.ID = 663 + Me.OriginalPP = 10 + Me.CurrentPP = 10 + Me.MaxPP = 10 + Me.Power = 85 + Me.Accuracy = 100 + Me.Category = Categories.Physical + Me.ContestCategory = ContestCategories.Tough + Me.Name = "Darkest Lariat" + Me.Description = "The user swings both arms and hits the target. The target's stat changes don't affect this attack's damage." + Me.CriticalChance = 1 + Me.IsHMMove = False + Me.Target = Targets.OneAdjacentTarget + Me.Priority = 0 + Me.TimesToAttack = 1 + '#End + + '#SpecialDefinitions + Me.MakesContact = True + Me.ProtectAffected = True + Me.MagicCoatAffected = False + Me.SnatchAffected = False + Me.MirrorMoveAffected = True + Me.KingsrockAffected = False + Me.CounterAffected = True + + Me.DisabledWhileGravity = False + Me.UseEffectiveness = True + Me.ImmunityAffected = True + Me.HasSecondaryEffect = False + Me.RemovesFrozen = False + + 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 + Me.IsJawMove = True + '#End + + Me.AIField1 = AIField.Damage + Me.AIField2 = AIField.Nothing + + End Sub + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Dark/PowerTrip.vb b/P3D/Pokemon/Attacks/Dark/PowerTrip.vb new file mode 100644 index 0000000000000000000000000000000000000000..fa552cfa0d6193b4419ea744e1fe7beed62ed9cc GIT binary patch literal 5820 zcmcIo+iu!G5S`~r{Rb<32x%*n^r7lYD-m)-5e+I-c_!c_G~pr}nx-G$_M90e#ts;} z1X-5X-kq5<*PZpBzw%YOGL%qanPAkzD3C*prnv6$)|N-iO)(luRhlxEpSrp#M_3if zoxGM;dIzB7)smT9fp!3Hfz&bTfJ zI#pV7TX6)?Foe{K?4?jTjX!tg4Kxbn8n{Ndr?|%$#ko{XP*kDKBXptVKI1ldfgG#- zXxkCERWk1hRSXVp%Y2L`t%21h>7#s-g97+2)Y>=&S~!;%p$)1)kQ z6aN2IT4oE@w^%Wx9||F@AwGJFmXY$fpk*;V8TX;wKz8&*T?hW;>j3lgSPSvV%wUw$ zri^5drR>xER@ZnUC+1U{t0T=@mu0U3UZkBmb;$Ae77jN!RQw2y2y>bK3Q)pyP55rWj^s+1b>7WRq^hU zhUy_(VJltsE~Ex3nO@_V9Jn&VXn-#vB)-SH%ec{b^D(jecgkR`Gmeud%T=X_#p>W{ zRm9?>4vna-Ran-EBAMF&-ZNBPue)aP6L7j$P1Z+UNA))g8uj8AM)Czvg{ZH6`GK{> z$9lE6YQ2<}YRjyl&K}K0a;^gk*2owV$EhlBX!EVas(q|6v}z~uT;$5OR_Puj(tiJ2 z?OD(66tQP3tu}>6=~ZUc470^-HU?d&)HUop*YhzWv@AEGVukOavM~3iu;nt2Wn!ld z%aT(MvAa39CeU#gVU&10FXvj^hUefpg5I(6WpA)4M_O;D8Nf=mp4)mq9|2~2YHSE>>{%I29-ZZ}kr(k% zU;216PV8s7V=!Je$Hg9#orCp(SuKm_9Cc*9Piog@TDIpI*Uz<9F+XM__7Kr#=K%H| zjOrO~@6^lbZ2RPyayiGYxtZ3N^Ne7XIRz?aM!!J4$!40rr*}gC>QCDvgSjne%VqXV zpPw$Ymat+EfQ%I-K(<*#CLQ1@W~O>#WM`H1mlf#upgCDn%0s-5wd%18V*iysWwN&n zaWRXXf_smjLX-KurxgvXw$7YZT&9uh&l)@g-QXN3(lh;5^ z4#3$gz$%jH@ESr6+dta|8E>dsyAQl=gvPwVrLg zeJ1EW+u&v0N^$}SF!t&{(lSPE$#{`LAKKFt@yj@RW#c-5al9LUzhwX Q_7y(kf3jjoX9WuX0a>{9y8r+H literal 0 HcmV?d00001 diff --git a/P3D/Pokemon/Attacks/Dragon/ClangingScales.vb b/P3D/Pokemon/Attacks/Dragon/ClangingScales.vb new file mode 100644 index 000000000..5a8bfcdc6 --- /dev/null +++ b/P3D/Pokemon/Attacks/Dragon/ClangingScales.vb @@ -0,0 +1,64 @@ +Namespace BattleSystem.Moves.Dragon + + Public Class ClangingScales + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Dragon) + Me.ID = 691 + Me.OriginalPP = 5 + Me.CurrentPP = 5 + Me.MaxPP = 5 + Me.Power = 110 + Me.Accuracy = 100 + Me.Category = Categories.Special + Me.ContestCategory = ContestCategories.Cool + Me.Name = "Clanging Scales" + Me.Description = "The user rubs the scales on its entire body and makes a huge noise to attack the opposing Pokémon. The user's Defense stat goes down after the attack." + Me.CriticalChance = 1 + Me.IsHMMove = False + Me.Target = Targets.AllAdjacentFoes + 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 = False + + Me.DisabledWhileGravity = False + Me.UseEffectiveness = True + Me.ImmunityAffected = True + Me.HasSecondaryEffect = False + Me.RemovesFrozen = False + + Me.IsHealingMove = False + Me.IsRecoilMove = False + Me.IsPunchingMove = False + Me.IsDamagingMove = True + Me.IsProtectMove = False + Me.IsSoundMove = True + + Me.IsAffectedBySubstitute = False + Me.IsOneHitKOMove = False + Me.IsWonderGuardAffected = True + '#End + + Me.AIField1 = AIField.Damage + Me.AIField2 = AIField.LowerDefense + End Sub + + Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) + BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Defense", 1, "", "move:clangingscales") + End Sub + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Dragon/DragonHammer.vb b/P3D/Pokemon/Attacks/Dragon/DragonHammer.vb new file mode 100644 index 000000000..7892fe598 --- /dev/null +++ b/P3D/Pokemon/Attacks/Dragon/DragonHammer.vb @@ -0,0 +1,60 @@ +Namespace BattleSystem.Moves.Dragon + + Public Class DragonHammer + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Dragon) + Me.ID = 692 + Me.OriginalPP = 15 + Me.CurrentPP = 15 + Me.MaxPP = 15 + Me.Power = 90 + Me.Accuracy = 100 + Me.Category = Categories.Physical + Me.ContestCategory = ContestCategories.Cool + Me.Name = "Dragon Hammer" + Me.Description = "The user uses its body like a hammer to attack the target and inflict damage." + Me.CriticalChance = 1 + Me.IsHMMove = False + Me.Target = Targets.OneAdjacentTarget + Me.Priority = 0 + Me.TimesToAttack = 1 + '#End + + '#SpecialDefinitions + Me.MakesContact = True + Me.ProtectAffected = True + Me.MagicCoatAffected = False + Me.SnatchAffected = False + Me.MirrorMoveAffected = True + Me.KingsrockAffected = False + Me.CounterAffected = True + + Me.DisabledWhileGravity = False + Me.UseEffectiveness = True + Me.ImmunityAffected = True + Me.HasSecondaryEffect = False + Me.RemovesFrozen = False + + 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.Nothing + End Sub + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Electric/ZingZap.vb b/P3D/Pokemon/Attacks/Electric/ZingZap.vb new file mode 100644 index 000000000..aba359932 --- /dev/null +++ b/P3D/Pokemon/Attacks/Electric/ZingZap.vb @@ -0,0 +1,67 @@ +Namespace BattleSystem.Moves.Electric + Public Class ZingZap + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Electric) + Me.ID = 716 + Me.OriginalPP = 10 + Me.CurrentPP = 10 + Me.MaxPP = 10 + Me.Power = 80 + Me.Accuracy = 100 + Me.Category = Categories.Physical + Me.ContestCategory = ContestCategories.Tough + Me.Name = "Zing Zap" + Me.Description = "A strong electric blast crashes down on the target, giving it an electric shock. This may also make the target flinch." + Me.CriticalChance = 1 + Me.IsHMMove = False + Me.Target = Targets.OneAdjacentTarget + Me.Priority = 0 + Me.TimesToAttack = 1 + '#End + + '#SpecialDefinitions + Me.MakesContact = True + Me.ProtectAffected = True + Me.MagicCoatAffected = False + Me.SnatchAffected = False + Me.MirrorMoveAffected = True + Me.KingsrockAffected = False + Me.CounterAffected = True + + Me.DisabledWhileGravity = False + Me.UseEffectiveness = True + Me.ImmunityAffected = True + Me.HasSecondaryEffect = True + Me.RemovesFrozen = False + + 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.CanFlinch + + Me.EffectChances.Add(30) + End Sub + + Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) + If Core.Random.Next(0, 100) < GetEffectChance(0, own, BattleScreen) Then + BattleScreen.Battle.InflictFlinch(Not own, own, BattleScreen, "", "move:zingzap") + End If + End Sub + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Fairy/FleurCannon.vb b/P3D/Pokemon/Attacks/Fairy/FleurCannon.vb new file mode 100644 index 000000000..8855ca6a2 --- /dev/null +++ b/P3D/Pokemon/Attacks/Fairy/FleurCannon.vb @@ -0,0 +1,64 @@ +Namespace BattleSystem.Moves.Fairy + + Public Class FleurCannon + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Fairy) + Me.ID = 705 + Me.OriginalPP = 5 + Me.CurrentPP = 5 + Me.MaxPP = 5 + Me.Power = 130 + Me.Accuracy = 90 + Me.Category = Categories.Special + Me.ContestCategory = ContestCategories.Cute + Me.Name = "Fleur Cannon" + Me.Description = "The user unleashes a strong beam. The attack's recoil harshly lowers the user's Sp. Atk stat." + 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.RemovesFrozen = False + Me.HasSecondaryEffect = False + + 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.LowerSpAttack + End Sub + + Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) + BattleScreen.Battle.LowerStat(own, own, BattleScreen, "Special Attack", 2, "", "move:fleurcannon") + End Sub + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Fairy/NaturesMadness.vb b/P3D/Pokemon/Attacks/Fairy/NaturesMadness.vb new file mode 100644 index 000000000..e74d8cd78 --- /dev/null +++ b/P3D/Pokemon/Attacks/Fairy/NaturesMadness.vb @@ -0,0 +1,72 @@ +Namespace BattleSystem.Moves.Fairy + + Public Class NaturesMadness + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Fairy) + Me.ID = 717 + Me.OriginalPP = 10 + Me.CurrentPP = 10 + Me.MaxPP = 10 + Me.Power = 0 + Me.Accuracy = 90 + Me.Category = Categories.Special + Me.ContestCategory = ContestCategories.Beauty + Me.Name = "Nature's Madness" + Me.Description = "The user hits the target with the force of nature. It halves the target's HP." + Me.CriticalChance = 0 + 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 = False + + Me.DisabledWhileGravity = False + Me.UseEffectiveness = False + Me.ImmunityAffected = True + Me.HasSecondaryEffect = False + Me.RemovesFrozen = False + + 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 Function GetDamage(Critical As Boolean, Own As Boolean, targetPokemon As Boolean, BattleScreen As BattleScreen, Optional ExtraParameter As String = "") As Integer + Dim op As Pokemon = BattleScreen.OppPokemon + If Own = False Then + op = BattleScreen.OwnPokemon + End If + + Dim damage As Integer = CInt(Math.Floor(op.HP / 2)) + + If damage <= 0 Then + damage = 1 + End If + + Return damage + End Function + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Fighting/Power-UpPunch.vb b/P3D/Pokemon/Attacks/Fighting/Power-UpPunch.vb index d4ffd41af..064d799ae 100644 --- a/P3D/Pokemon/Attacks/Fighting/Power-UpPunch.vb +++ b/P3D/Pokemon/Attacks/Fighting/Power-UpPunch.vb @@ -34,9 +34,9 @@ Namespace BattleSystem.Moves.Fighting Me.CounterAffected = True Me.DisabledWhileGravity = False - Me.UseEffectiveness = False + Me.UseEffectiveness = True Me.ImmunityAffected = True - Me.HasSecondaryEffect = True + Me.HasSecondaryEffect = False Me.RemovesFrozen = False Me.IsHealingMove = False diff --git a/P3D/Pokemon/Attacks/Fire/BurnUp.vb b/P3D/Pokemon/Attacks/Fire/BurnUp.vb new file mode 100644 index 000000000..71e373def --- /dev/null +++ b/P3D/Pokemon/Attacks/Fire/BurnUp.vb @@ -0,0 +1,94 @@ +Namespace BattleSystem.Moves.Fire + + Public Class BurnUp + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Fire) + Me.ID = 682 + Me.OriginalPP = 5 + Me.CurrentPP = 5 + Me.MaxPP = 5 + Me.Power = 130 + Me.Accuracy = 100 + Me.Category = Categories.Special + Me.ContestCategory = ContestCategories.Cool + Me.Name = "Burn Up" + Me.Description = "To inflict massive damage, the user burns itself out. After using this move, the user will no longer be Fire type." + 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 = False + + Me.DisabledWhileGravity = False + Me.UseEffectiveness = True + Me.ImmunityAffected = True + Me.HasSecondaryEffect = False + 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 + End Sub + + Public Overrides Function MoveFailBeforeAttack(Own As Boolean, BattleScreen As BattleScreen) As Boolean + Dim p As Pokemon = BattleScreen.OwnPokemon + If Own = False Then + p = BattleScreen.OppPokemon + End If + + If p.IsType(Element.Types.Fire) = True Then + Return False + Else + Return True + End If + End Function + + Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) + Dim p As Pokemon = BattleScreen.OwnPokemon + If own = False Then + p = BattleScreen.OppPokemon + End If + + p.OriginalType1 = New Element(p.Type1.Type) + p.OriginalType2 = New Element(p.Type2.Type) + + If p.Type2.Type = Element.Types.Blank Then + 'Pure fire + + p.Type1.Type = Element.Types.Blank + Else + 'One of the types is fire + + If p.Type1.Type = Element.Types.Fire Then + p.Type1.Type = p.Type2.Type + End If + p.Type2.Type = Element.Types.Blank + End If + + End Sub + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Fire/FireLash.vb b/P3D/Pokemon/Attacks/Fire/FireLash.vb new file mode 100644 index 000000000..05d081812 --- /dev/null +++ b/P3D/Pokemon/Attacks/Fire/FireLash.vb @@ -0,0 +1,64 @@ +Namespace BattleSystem.Moves.Fire + + Public Class FireLash + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Fire) + Me.ID = 680 + Me.OriginalPP = 15 + Me.CurrentPP = 15 + Me.MaxPP = 15 + Me.Power = 80 + Me.Accuracy = 100 + Me.Category = Categories.Physical + Me.ContestCategory = ContestCategories.Tough + Me.Name = "Fire Lash" + Me.Description = "The user strikes the target with a burning lash. This also lowers the target's Defense stat." + Me.CriticalChance = 1 + Me.IsHMMove = False + Me.Target = Targets.OneAdjacentTarget + Me.Priority = 0 + Me.TimesToAttack = 1 + '#End + + '#SpecialDefinitions + Me.MakesContact = True + 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.HasSecondaryEffect = False + Me.RemovesFrozen = False + + 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.LowerDefense + End Sub + + Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) + BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Defense", 1, "", "move:firelash") + End Sub + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Ghost/ShadowBone.vb b/P3D/Pokemon/Attacks/Ghost/ShadowBone.vb new file mode 100644 index 000000000..73cb769ef --- /dev/null +++ b/P3D/Pokemon/Attacks/Ghost/ShadowBone.vb @@ -0,0 +1,68 @@ +Namespace BattleSystem.Moves.Ghost + + Public Class ShadowBone + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Ghost) + Me.ID = 708 + Me.OriginalPP = 10 + Me.CurrentPP = 10 + Me.MaxPP = 10 + Me.Power = 85 + Me.Accuracy = 100 + Me.Category = Categories.Physical + Me.ContestCategory = ContestCategories.Tough + Me.Name = "Shadow Bone" + Me.Description = "The user attacks by beating the target with a bone that contains a spirit. This may also lower the target's Defense stat." + 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 = False + + 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.CanLowerDefense + + Me.EffectChances.Add(20) + End Sub + + Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) + If Core.Random.Next(0, 100) < Me.GetEffectChance(0, own, BattleScreen) Then + BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Defense", 1, "", "move:shadowbone") + End If + End Sub + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Ghost/SpiritShackle.vb b/P3D/Pokemon/Attacks/Ghost/SpiritShackle.vb new file mode 100644 index 000000000..2ce6413ff --- /dev/null +++ b/P3D/Pokemon/Attacks/Ghost/SpiritShackle.vb @@ -0,0 +1,78 @@ +Namespace BattleSystem.Moves.Ghost + + Public Class SpiritShackle + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Ghost) + Me.ID = 662 + Me.OriginalPP = 10 + Me.CurrentPP = 10 + Me.MaxPP = 10 + Me.Power = 80 + Me.Accuracy = 100 + Me.Category = Categories.Physical + Me.ContestCategory = ContestCategories.Smart + Me.Name = "Spirit Shackle" + Me.Description = "The user attacks while simultaneously stitching the target's shadow to the ground to prevent the target from escaping." + 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.HasSecondaryEffect = False + Me.RemovesFrozen = False + + 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) + Dim trapped As Integer = BattleScreen.FieldEffects.OppTrappedCounter + If own = False Then + trapped = BattleScreen.FieldEffects.OwnTrappedCounter + End If + + Dim op As Pokemon = BattleScreen.OppPokemon + If own = False Then + op = BattleScreen.OwnPokemon + End If + + If trapped = 0 Then + If own = True Then + BattleScreen.FieldEffects.OppTrappedCounter = 1 + Else + BattleScreen.FieldEffects.OwnTrappedCounter = 1 + End If + BattleScreen.BattleQuery.Add(New TextQueryObject(op.GetDisplayName() & " can no longer escape!")) + End If + End Sub + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Grass/Leafage.vb b/P3D/Pokemon/Attacks/Grass/Leafage.vb new file mode 100644 index 000000000..f633c0693 --- /dev/null +++ b/P3D/Pokemon/Attacks/Grass/Leafage.vb @@ -0,0 +1,57 @@ +Namespace BattleSystem.Moves.Grass + + Public Class Leafage + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Grass) + Me.ID = 670 + Me.OriginalPP = 40 + Me.CurrentPP = 40 + Me.MaxPP = 40 + Me.Power = 40 + Me.Accuracy = 100 + Me.Category = Categories.Physical + Me.ContestCategory = ContestCategories.Cool + Me.Name = "Leafage" + Me.Description = "The user attacks by pelting the target with leaves." + 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.HasSecondaryEffect = False + Me.RemovesFrozen = False + + 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 + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Grass/SolarBlade.vb b/P3D/Pokemon/Attacks/Grass/SolarBlade.vb new file mode 100644 index 000000000..381fdafcc --- /dev/null +++ b/P3D/Pokemon/Attacks/Grass/SolarBlade.vb @@ -0,0 +1,201 @@ +Namespace BattleSystem.Moves.Grass + + Public Class SolarBlade + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Grass) + Me.ID = 669 + Me.OriginalPP = 10 + Me.CurrentPP = 10 + Me.MaxPP = 10 + Me.Power = 125 + Me.Accuracy = 100 + Me.Category = Categories.Physical + Me.ContestCategory = ContestCategories.Cool + Me.Name = "Solar Blade" + Me.Description = "In this two-turn attack, the user gathers light and fills a blade with the light's energy, attacking the target on the next turn." + Me.CriticalChance = 1 + Me.IsHMMove = False + Me.Target = Targets.OneAdjacentTarget + Me.Priority = 0 + Me.TimesToAttack = 1 + '#End + + '#SpecialDefinitions + Me.MakesContact = True + 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.HasSecondaryEffect = False + Me.RemovesFrozen = False + + 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.MultiTurn + End Sub + + Public Overrides Function GetUseAccEvasion(own As Boolean, BattleScreen As BattleScreen) As Boolean + Dim SolarBlade As Integer = BattleScreen.FieldEffects.OwnSolarBlade + If own = False Then + SolarBlade = BattleScreen.FieldEffects.OppSolarBlade + End If + + If SolarBlade = 0 Then + Return False + Else + Return True + End If + End Function + + Public Overrides Sub PreAttack(Own As Boolean, BattleScreen As BattleScreen) + Dim SolarBlade As Integer = BattleScreen.FieldEffects.OwnSolarBlade + If Own = False Then + SolarBlade = BattleScreen.FieldEffects.OppSolarBlade + End If + + If SolarBlade = 0 Then + Me.FocusOppPokemon = False + Else + Me.FocusOppPokemon = True + End If + End Sub + + Public Overrides Function MoveFailBeforeAttack(Own As Boolean, BattleScreen As BattleScreen) As Boolean + Dim p As Pokemon = BattleScreen.OwnPokemon + If Own = False Then + p = BattleScreen.OppPokemon + End If + + Dim hasToCharge As Boolean = True + + Dim blade As Integer = BattleScreen.FieldEffects.OwnSolarBlade + If Own = False Then + blade = BattleScreen.FieldEffects.OppSolarBlade + End If + + If blade = 0 Then + BattleScreen.BattleQuery.Add(New TextQueryObject(p.GetDisplayName() & " absorbed sunlight!")) + Else + hasToCharge = False + End If + + If hasToCharge = True Then + If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Sunny Then + hasToCharge = False + Else + If Not p.Item Is Nothing Then + If p.Item.Name.ToLower() = "power herb" And BattleScreen.FieldEffects.CanUseItem(Own) = True And BattleScreen.FieldEffects.CanUseOwnItem(Own, BattleScreen) = True Then + If BattleScreen.Battle.RemoveHeldItem(Own, Own, BattleScreen, "Power Herb pushed the use of Solar Blade!", "move:solarblade") = True Then + hasToCharge = False + End If + End If + End If + End If + End If + + If hasToCharge = True Then + If Own = True Then + BattleScreen.FieldEffects.OwnSolarBlade = 1 + Else + BattleScreen.FieldEffects.OppSolarBlade = 1 + End If + Return True + Else + If Own = True Then + BattleScreen.FieldEffects.OwnSolarBlade = 0 + Else + BattleScreen.FieldEffects.OppSolarBlade = 0 + End If + Return False + End If + End Function + + Public Overrides Function GetBasePower(own As Boolean, BattleScreen As BattleScreen) As Integer + If BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Rain Or BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Sandstorm Or BattleScreen.FieldEffects.Weather = BattleWeather.WeatherTypes.Hailstorm Then + Return CInt(Me.Power / 2) + Else + Return Me.Power + End If + End Function + + Public Overrides Sub MoveSelected(own As Boolean, BattleScreen As BattleScreen) + If own = True Then + BattleScreen.FieldEffects.OwnSolarBlade = 0 + Else + BattleScreen.FieldEffects.OppSolarBlade = 0 + End If + End Sub + + Public Overrides Function DeductPP(own As Boolean, BattleScreen As BattleScreen) As Boolean + Dim solarBlade As Integer = BattleScreen.FieldEffects.OwnSolarBlade + If own = False Then + solarBlade = BattleScreen.FieldEffects.OppSolarBlade + End If + + If solarBlade = 0 Then + Return False + Else + Return True + End If + End Function + + Private Sub MoveFails(own As Boolean, BattleScreen As BattleScreen) + If own = True Then + BattleScreen.FieldEffects.OwnSolarBlade = 0 + Else + BattleScreen.FieldEffects.OppSolarBlade = 0 + End If + End Sub + + Public Overrides Sub MoveMisses(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + + Public Overrides Sub AbsorbedBySubstitute(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + + Public Overrides Sub MoveProtectedDetected(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + + Public Overrides Sub InflictedFlinch(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + + Public Overrides Sub IsSleeping(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + + Public Overrides Sub HurtItselfInConfusion(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + + Public Overrides Sub IsAttracted(own As Boolean, BattleScreen As BattleScreen) + MoveFails(own, BattleScreen) + End Sub + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Grass/Strength Sap.vb b/P3D/Pokemon/Attacks/Grass/Strength Sap.vb new file mode 100644 index 000000000..f2edb170d --- /dev/null +++ b/P3D/Pokemon/Attacks/Grass/Strength Sap.vb @@ -0,0 +1,92 @@ +Namespace BattleSystem.Moves.Grass + + Public Class StrengthSap + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Grass) + Me.ID = 668 + Me.OriginalPP = 10 + Me.CurrentPP = 10 + Me.MaxPP = 10 + Me.Power = 0 + Me.Accuracy = 100 + Me.Category = Categories.Status + Me.ContestCategory = ContestCategories.Smart + Me.Name = "Strength Sap" + Me.Description = "The user restores its HP by the same amount as the target's Attack stat. It also lowers the target's Attack stat." + Me.CriticalChance = 0 + Me.IsHMMove = False + Me.Target = Targets.OneAdjacentTarget + Me.Priority = 0 + Me.TimesToAttack = 1 + '#End + + '#SpecialDefinitions + Me.MakesContact = False + Me.ProtectAffected = True + 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 = True + Me.IsRecoilMove = False + Me.IsPunchingMove = False + Me.IsDamagingMove = False + 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) + 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 heal As Integer = op.StatAttack + + Dim b As Boolean = BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Attack", 1, "", "move:strengthsap") + If b = True Then + If op.Ability.Name.ToLower() = "liquid ooze" And BattleScreen.FieldEffects.CanUseAbility(Not own, BattleScreen) = True Then + BattleScreen.Battle.ReduceHP(heal, own, own, BattleScreen, "Liquid Ooze damaged " & p.GetDisplayName() & "!", "liquidooze") + Else + If Not p.Item Is Nothing Then + If p.Item.Name.ToLower() = "big root" And BattleScreen.FieldEffects.CanUseItem(own) = True And BattleScreen.FieldEffects.CanUseOwnItem(own, BattleScreen) = True Then + heal = CInt(Math.Ceiling(heal * (130 / 100))) + End If + End If + + Dim healBlock As Integer = BattleScreen.FieldEffects.OppHealBlock + If own = False Then + healBlock = BattleScreen.FieldEffects.OwnHealBlock + End If + If healBlock = 0 Then + BattleScreen.Battle.GainHP(heal, own, own, BattleScreen, op.GetDisplayName() & " had its energy drained!", "move:strengthsap") + End If + End If + End If + If b = False Then + BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) + End If + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Attacks/Grass/TropKick.vb b/P3D/Pokemon/Attacks/Grass/TropKick.vb new file mode 100644 index 000000000..66f441651 --- /dev/null +++ b/P3D/Pokemon/Attacks/Grass/TropKick.vb @@ -0,0 +1,64 @@ +Namespace BattleSystem.Moves.Grass + + Public Class TropKick + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Grass) + Me.ID = 688 + Me.OriginalPP = 15 + Me.CurrentPP = 15 + Me.MaxPP = 15 + Me.Power = 70 + Me.Accuracy = 100 + Me.Category = Categories.Physical + Me.ContestCategory = ContestCategories.Cool + Me.Name = "Trop Kick" + Me.Description = " The user lands an intense kick of tropical origins on the target. This also lowers the target's Attack stat." + Me.CriticalChance = 1 + Me.IsHMMove = False + Me.Target = Targets.OneAdjacentTarget + Me.Priority = 0 + Me.TimesToAttack = 1 + '#End + + '#SpecialDefinitions + Me.MakesContact = True + 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.HasSecondaryEffect = False + Me.RemovesFrozen = False + + 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.LowerAttack + End Sub + + Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) + BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Attack", 1, "", "move:tropkick") + End Sub + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Ground/HighHorsepower.vb b/P3D/Pokemon/Attacks/Ground/HighHorsepower.vb new file mode 100644 index 000000000..e3a15702e --- /dev/null +++ b/P3D/Pokemon/Attacks/Ground/HighHorsepower.vb @@ -0,0 +1,57 @@ +Namespace BattleSystem.Moves.Ground + + Public Class HighHorsepower + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Ground) + Me.ID = 667 + Me.OriginalPP = 10 + Me.CurrentPP = 10 + Me.MaxPP = 10 + Me.Power = 95 + Me.Accuracy = 95 + Me.Category = Categories.Physical + Me.ContestCategory = ContestCategories.Cool + Me.Name = "High Horsepower" + Me.Description = "The user fiercely attacks the target using its entire body." + Me.CriticalChance = 1 + Me.IsHMMove = False + Me.Target = Targets.OneAdjacentTarget + Me.Priority = 0 + Me.TimesToAttack = 1 + '#End + + '#SpecialDefinitions + Me.MakesContact = True + 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.HasSecondaryEffect = False + Me.RemovesFrozen = False + + 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 + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Ground/SHoreUp.vb b/P3D/Pokemon/Attacks/Ground/SHoreUp.vb new file mode 100644 index 000000000..b4bfd4236 --- /dev/null +++ b/P3D/Pokemon/Attacks/Ground/SHoreUp.vb @@ -0,0 +1,83 @@ +Namespace BattleSystem.Moves.Ground + + Public Class ShoreUp + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Ground) + Me.ID = 659 + Me.OriginalPP = 10 + Me.CurrentPP = 10 + Me.MaxPP = 10 + Me.Power = 0 + Me.Accuracy = 0 + Me.Category = Categories.Status + Me.ContestCategory = ContestCategories.Cool + Me.Name = "Shore Up" + Me.Description = "The user regains up to half of its max HP. It restores more HP in a sandstorm." + Me.CriticalChance = 0 + Me.IsHMMove = False + Me.Target = Targets.Self + Me.Priority = 0 + Me.TimesToAttack = 1 + '#End + + '#SpecialDefinitions + Me.MakesContact = False + Me.ProtectAffected = False + Me.MagicCoatAffected = False + Me.SnatchAffected = True + Me.MirrorMoveAffected = False + Me.KingsrockAffected = False + Me.CounterAffected = False + + Me.DisabledWhileGravity = False + Me.UseEffectiveness = False + Me.ImmunityAffected = False + Me.HasSecondaryEffect = False + Me.RemovesFrozen = False + + Me.IsHealingMove = True + 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.Healing + Me.AIField2 = AIField.Nothing + End Sub + + Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) + Dim p As Pokemon = BattleScreen.OwnPokemon + If own = False Then + p = BattleScreen.OppPokemon + End If + + Dim restoreHP As Integer = 1 + Select Case BattleScreen.FieldEffects.Weather + Case BattleWeather.WeatherTypes.Sandstorm + restoreHP = CInt(Math.Ceiling((2 / 3) * p.MaxHP)) + Case BattleWeather.WeatherTypes.Clear + restoreHP = CInt(Math.Ceiling((1 / 2) * p.MaxHP)) + Case Else + restoreHP = CInt(Math.Ceiling((1 / 4) * p.MaxHP)) + End Select + + If p.HP < p.MaxHP And p.HP > 0 Then + BattleScreen.Battle.GainHP(restoreHP, own, own, BattleScreen, p.GetDisplayName() & "'s HP was restored!", "move:shoreup") + Else + BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) + End If + End Sub + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Ice/IceHammer.vb b/P3D/Pokemon/Attacks/Ice/IceHammer.vb new file mode 100644 index 000000000..9d403cf3c --- /dev/null +++ b/P3D/Pokemon/Attacks/Ice/IceHammer.vb @@ -0,0 +1,61 @@ +Namespace BattleSystem.Moves.Ice + + Public Class IceHammer + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Ice) + Me.ID = 665 + Me.OriginalPP = 10 + Me.CurrentPP = 10 + Me.MaxPP = 10 + Me.Power = 100 + Me.Accuracy = 90 + Me.Category = Categories.Physical + Me.ContestCategory = ContestCategories.Cool + Me.Name = "Ice Hammer" + Me.Description = "The user swings and hits with its strong, heavy fist. It lowers the user's Speed, however." + Me.CriticalChance = 1 + Me.IsHMMove = False + Me.Target = Targets.OneAdjacentTarget + Me.Priority = 0 + Me.TimesToAttack = 1 + '#End + + '#SpecialDefinitions + Me.MakesContact = True + Me.ProtectAffected = True + Me.MagicCoatAffected = False + Me.SnatchAffected = False + Me.MirrorMoveAffected = True + Me.KingsrockAffected = False + Me.CounterAffected = True + + Me.DisabledWhileGravity = False + Me.UseEffectiveness = True + Me.ImmunityAffected = True + Me.RemovesFrozen = False + Me.HasSecondaryEffect = False + + 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) + BattleScreen.Battle.LowerStat(own, own, BattleScreen, "Speed", 1, "", "move:icehammer") + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Attacks/Normal/RevelationDance.vb b/P3D/Pokemon/Attacks/Normal/RevelationDance.vb new file mode 100644 index 000000000..5bf48fffb --- /dev/null +++ b/P3D/Pokemon/Attacks/Normal/RevelationDance.vb @@ -0,0 +1,71 @@ +Namespace BattleSystem.Moves.Normal + + Public Class RevelationDance + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Normal) + Me.ID = 686 + Me.OriginalPP = 15 + Me.CurrentPP = 15 + Me.MaxPP = 15 + Me.Power = 90 + Me.Accuracy = 100 + Me.Category = Categories.Special + Me.ContestCategory = ContestCategories.Beauty + Me.Name = "Revelation Dance" + Me.Description = "The user attacks the target by dancing very hard. The user's type determines the type of this move." + 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 = False + + Me.DisabledWhileGravity = False + Me.UseEffectiveness = True + Me.ImmunityAffected = True + Me.HasSecondaryEffect = False + Me.RemovesFrozen = False + + 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.Nothing + End Sub + + Public Overrides Function GetAttackType(own As Boolean, BattleScreen As BattleScreen) As Element + Dim p As Pokemon = BattleScreen.OwnPokemon + If own = False Then + p = BattleScreen.OppPokemon + End If + + Return New Element(p.Type1.Type) + + Return Me.Type + End Function + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Normal/TearfulLook.vb b/P3D/Pokemon/Attacks/Normal/TearfulLook.vb new file mode 100644 index 000000000..e1a489c4e --- /dev/null +++ b/P3D/Pokemon/Attacks/Normal/TearfulLook.vb @@ -0,0 +1,68 @@ +Namespace BattleSystem.Moves.Normal + + Public Class TearfulLook + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Normal) + Me.ID = 715 + Me.OriginalPP = 20 + Me.CurrentPP = 20 + Me.MaxPP = 20 + Me.Power = 0 + Me.Accuracy = 0 + Me.Category = Categories.Status + Me.ContestCategory = ContestCategories.Cute + Me.Name = "Tearful Look" + Me.Description = "The user gets teary eyed to make the target lose its combative spirit. This lowers the target's Attack and Sp. Atk stats." + Me.CriticalChance = 0 + Me.IsHMMove = False + Me.Target = Targets.OneAdjacentTarget + 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 = True + Me.IsOneHitKOMove = False + Me.IsWonderGuardAffected = False + '#End + + Me.AIField1 = AIField.LowerDefense + Me.AIField2 = AIField.LowerSpDefense + End Sub + + Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) + Dim b As Boolean = BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Defense", 1, "", "move:tearfullook") + Dim d As Boolean = BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Special Defense", 1, "", "move:tearfullook") + If b = False AndAlso DisabledWhileGravity = False Then + BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) + End If + End Sub + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Poison/ToxicThread.vb b/P3D/Pokemon/Attacks/Poison/ToxicThread.vb new file mode 100644 index 000000000..64bb1cf0f --- /dev/null +++ b/P3D/Pokemon/Attacks/Poison/ToxicThread.vb @@ -0,0 +1,68 @@ +Namespace BattleSystem.Moves.Poison + + Public Class ToxicThread + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Poison) + Me.ID = 672 + Me.OriginalPP = 20 + Me.CurrentPP = 20 + Me.MaxPP = 20 + Me.Power = 0 + Me.Accuracy = 100 + Me.Category = Categories.Status + Me.ContestCategory = ContestCategories.Smart + Me.Name = "Toxic Thread" + Me.Description = "The user shoots poisonous threads to poison the target and lower the target's Speed stat." + Me.CriticalChance = 0 + Me.IsHMMove = False + Me.Target = Targets.OneAdjacentTarget + Me.Priority = 0 + Me.TimesToAttack = 1 + '#End + + '#SpecialDefinitions + Me.MakesContact = False + Me.ProtectAffected = True + 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 = True + Me.IsOneHitKOMove = False + Me.IsWonderGuardAffected = False + '#End + + Me.AIField1 = AIField.Poison + Me.AIField2 = AIField.LowerSpeed + End Sub + + Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) + Dim b As Boolean = BattleScreen.Battle.LowerStat(Not own, own, BattleScreen, "Speed", 1, "", "move:toxicthread") + Dim d As Boolean = BattleScreen.Battle.InflictPoison(Not own, own, BattleScreen, False, "", "move:toxicthread") + If b = False AndAlso d = False Then + BattleScreen.BattleQuery.Add(New TextQueryObject(Me.Name & " failed!")) + End If + End Sub + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Psychic/PrismaticLaser.vb b/P3D/Pokemon/Attacks/Psychic/PrismaticLaser.vb new file mode 100644 index 000000000..cb66c3f69 --- /dev/null +++ b/P3D/Pokemon/Attacks/Psychic/PrismaticLaser.vb @@ -0,0 +1,68 @@ +Namespace BattleSystem.Moves.Psychic + + Public Class PrismaticLaser + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Psychic) + Me.ID = 711 + Me.OriginalPP = 10 + Me.CurrentPP = 10 + Me.MaxPP = 10 + Me.Power = 160 + Me.Accuracy = 100 + Me.Category = Categories.Special + Me.ContestCategory = ContestCategories.Cool + Me.Name = "Prismatic Laser" + Me.Description = "The user shoots powerful lasers using the power of a prism. The user can't move on the next turn." + 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 = False + + Me.DisabledWhileGravity = False + Me.UseEffectiveness = True + Me.ImmunityAffected = True + Me.HasSecondaryEffect = False + Me.RemovesFrozen = False + + 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.Recharge + End Sub + + Public Overrides Sub MoveRecharge(Own As Boolean, BattleScreen As BattleScreen) + If Own = True Then + BattleScreen.FieldEffects.OwnRecharge += 1 + Else + BattleScreen.FieldEffects.OppRecharge += 1 + End If + End Sub + + End Class + +End Namespace \ No newline at end of file diff --git a/P3D/Pokemon/Attacks/Psychic/PsychicFangs.vb b/P3D/Pokemon/Attacks/Psychic/PsychicFangs.vb new file mode 100644 index 000000000..3f57c839f --- /dev/null +++ b/P3D/Pokemon/Attacks/Psychic/PsychicFangs.vb @@ -0,0 +1,90 @@ +Namespace BattleSystem.Moves.Psychic + + Public Class PsychicFangs + + Inherits Attack + + Public Sub New() + '#Definitions + Me.Type = New Element(Element.Types.Psychic) + Me.ID = 706 + Me.OriginalPP = 10 + Me.CurrentPP = 10 + Me.MaxPP = 10 + Me.Power = 85 + Me.Accuracy = 100 + Me.Category = Categories.Physical + Me.ContestCategory = ContestCategories.Cool + Me.Name = "Psychic Fangs" + Me.Description = "The user bites the target with its psychic capabilities. This can also destroy Light Screen and Reflect." + Me.CriticalChance = 1 + Me.IsHMMove = False + Me.Target = Targets.OneAdjacentTarget + Me.Priority = 0 + Me.TimesToAttack = 1 + '#End + + '#SpecialDefinitions + Me.MakesContact = True + 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.HasSecondaryEffect = False + Me.RemovesFrozen = False + + 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 + Me.IsJawMove = True + '#End + + Me.AIField1 = AIField.Damage + Me.AIField2 = AIField.RemoveReflectLightscreen + End Sub + + Public Overrides Sub MoveHits(own As Boolean, BattleScreen As BattleScreen) + Dim p As Pokemon = BattleScreen.OppPokemon + If own = False Then + p = BattleScreen.OwnPokemon + End If + + If p.IsType(Element.Types.Ghost) = False Then + If own = True Then + If BattleScreen.FieldEffects.OppLightScreen > 0 Then + BattleScreen.FieldEffects.OppLightScreen = 0 + BattleScreen.BattleQuery.Add(New TextQueryObject("The Light Screen wore off!")) + End If + If BattleScreen.FieldEffects.OppReflect > 0 Then + BattleScreen.FieldEffects.OppReflect = 0 + BattleScreen.BattleQuery.Add(New TextQueryObject("The Reflect wore off!")) + End If + Else + If BattleScreen.FieldEffects.OwnLightScreen > 0 Then + BattleScreen.FieldEffects.OwnLightScreen = 0 + BattleScreen.BattleQuery.Add(New TextQueryObject("The Light Screen wore off!")) + End If + If BattleScreen.FieldEffects.OwnReflect > 0 Then + BattleScreen.FieldEffects.OwnReflect = 0 + BattleScreen.BattleQuery.Add(New TextQueryObject("The Reflect wore off!")) + End If + End If + End If + End Sub + + End Class + +End Namespace diff --git a/P3D/Pokemon/Attacks/Psychic/StoredPower.vb b/P3D/Pokemon/Attacks/Psychic/StoredPower.vb index 7525dc29a446fb9b2cccac0bf8a7b80791667c6d..0d698128d2af8164be9f9ae0664264f65892af48 100644 GIT binary patch delta 12 TcmeCuJEXheBJXBNzK