diff --git a/P3D/Battle/BattleSystemV2/Battle.vb b/P3D/Battle/BattleSystemV2/Battle.vb index 22f68a385..69c5cb6a1 100644 --- a/P3D/Battle/BattleSystemV2/Battle.vb +++ b/P3D/Battle/BattleSystemV2/Battle.vb @@ -2858,6 +2858,9 @@ End Select End If End If + If BattleScreen.FieldEffects.TempTripleKick > 0 Then + BattleScreen.FieldEffects.TempTripleKick = 0 + End If Else 'If not damaging move Dim lastMove As Attack = BattleScreen.FieldEffects.OppLastMove If own = False Then diff --git a/P3D/Battle/BattleSystemV2/BattleScreen.vb b/P3D/Battle/BattleSystemV2/BattleScreen.vb index 9fe23b5ab..7f1665ff4 100644 --- a/P3D/Battle/BattleSystemV2/BattleScreen.vb +++ b/P3D/Battle/BattleSystemV2/BattleScreen.vb @@ -1405,8 +1405,8 @@ nextIndex: ItemReturnScript &= "@Sound.Play(item_found)" & Environment.NewLine & "@Text.Show(" & Core.Player.Name & " found~" & p.OriginalItem.Name & "!*" & Core.Player.Inventory.GetMessageReceive(p.OriginalItem, 1) p.OriginalItem = Nothing - End If End If + End If End If p.ResetTemp() Next @@ -1528,7 +1528,12 @@ nextIndex: FieldEffects.OppRageFistPower = 0 ResetVars() - Core.SetScreen(New TransitionScreen(Me, New BlackOutScreen(Me), Color.Black, False)) + If SavedOverworld.Level.BlackOutScript <> "" Then + CType(SavedOverworld.OverworldScreen, OverworldScreen).ActionScript.StartScript(SavedOverworld.Level.BlackOutScript, 0, False) + Core.SetScreen(New TransitionScreen(Me, SavedOverworld.OverworldScreen, Color.Black, False, AddressOf ChangeSavedScreen)) + Else + Core.SetScreen(New TransitionScreen(Me, New BlackOutScreen(Me), Color.Black, False)) + End If End If BattleMapOffset = New Vector3(0) OwnLeadIndex = 0 diff --git a/P3D/Battle/BattleSystemV2/FieldEffects.vb b/P3D/Battle/BattleSystemV2/FieldEffects.vb index 091fc5a45..5533aa5b7 100644 --- a/P3D/Battle/BattleSystemV2/FieldEffects.vb +++ b/P3D/Battle/BattleSystemV2/FieldEffects.vb @@ -261,6 +261,9 @@ Public OppUsedMoves As New List(Of Integer) + 'Global Temporary Variables + Public TempTripleKick As Integer = 0 'If Triple Kick is used, this will be increased every time it's hit + 'Weather Private _weather As BattleWeather.WeatherTypes = BattleWeather.WeatherTypes.Clear Public WeatherRounds As Integer = 0 diff --git a/P3D/Content/Data/Scripts/frontier/battlefactory/challenge/choosetrainer.dat b/P3D/Content/Data/Scripts/frontier/battlefactory/challenge/choosetrainer.dat index f27d9d5b2..3b02ec0c9 100644 Binary files a/P3D/Content/Data/Scripts/frontier/battlefactory/challenge/choosetrainer.dat and b/P3D/Content/Data/Scripts/frontier/battlefactory/challenge/choosetrainer.dat differ diff --git a/P3D/Content/Data/Scripts/frontier/battlefactory/ruleboard.dat b/P3D/Content/Data/Scripts/frontier/battlefactory/ruleboard.dat index c68d18b95..483632048 100644 Binary files a/P3D/Content/Data/Scripts/frontier/battlefactory/ruleboard.dat and b/P3D/Content/Data/Scripts/frontier/battlefactory/ruleboard.dat differ diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/challenge/checkin.dat b/P3D/Content/Data/Scripts/frontier/battlepike/challenge/checkin.dat new file mode 100644 index 000000000..26c74a150 Binary files /dev/null and b/P3D/Content/Data/Scripts/frontier/battlepike/challenge/checkin.dat differ diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/challenge/enterchoose.dat b/P3D/Content/Data/Scripts/frontier/battlepike/challenge/enterchoose.dat new file mode 100644 index 000000000..4d4176bc4 Binary files /dev/null and b/P3D/Content/Data/Scripts/frontier/battlepike/challenge/enterchoose.dat differ diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/challenge/intro_walk.dat b/P3D/Content/Data/Scripts/frontier/battlepike/challenge/intro_walk.dat new file mode 100644 index 000000000..9871e8cce Binary files /dev/null and b/P3D/Content/Data/Scripts/frontier/battlepike/challenge/intro_walk.dat differ diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/challenge/lost.dat b/P3D/Content/Data/Scripts/frontier/battlepike/challenge/lost.dat new file mode 100644 index 000000000..ef41ba212 Binary files /dev/null and b/P3D/Content/Data/Scripts/frontier/battlepike/challenge/lost.dat differ diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/challenge/lucytalk.dat b/P3D/Content/Data/Scripts/frontier/battlepike/challenge/lucytalk.dat new file mode 100644 index 000000000..59b7177e7 --- /dev/null +++ b/P3D/Content/Data/Scripts/frontier/battlepike/challenge/lucytalk.dat @@ -0,0 +1,7 @@ +version=2 +:if:=28 + @text.show(...That's all there is... Disappear already...) +:else + @text.show(...You, I won't forget...~...Ever...) +:endif +:end \ No newline at end of file diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/challenge/main.dat b/P3D/Content/Data/Scripts/frontier/battlepike/challenge/main.dat new file mode 100644 index 000000000..00693848e Binary files /dev/null and b/P3D/Content/Data/Scripts/frontier/battlepike/challenge/main.dat differ diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/challenge/record_machine.dat b/P3D/Content/Data/Scripts/frontier/battlepike/challenge/record_machine.dat new file mode 100644 index 000000000..57323aaef Binary files /dev/null and b/P3D/Content/Data/Scripts/frontier/battlepike/challenge/record_machine.dat differ diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/challenge/roomevent.dat b/P3D/Content/Data/Scripts/frontier/battlepike/challenge/roomevent.dat new file mode 100644 index 000000000..399a84890 Binary files /dev/null and b/P3D/Content/Data/Scripts/frontier/battlepike/challenge/roomevent.dat differ diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/challenge/won.dat b/P3D/Content/Data/Scripts/frontier/battlepike/challenge/won.dat new file mode 100644 index 000000000..93228cd44 Binary files /dev/null and b/P3D/Content/Data/Scripts/frontier/battlepike/challenge/won.dat differ diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/chatter.dat b/P3D/Content/Data/Scripts/frontier/battlepike/chatter.dat new file mode 100644 index 000000000..a33d90574 Binary files /dev/null and b/P3D/Content/Data/Scripts/frontier/battlepike/chatter.dat differ diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/endless/checkin.dat b/P3D/Content/Data/Scripts/frontier/battlepike/endless/checkin.dat new file mode 100644 index 000000000..b785f8d0f Binary files /dev/null and b/P3D/Content/Data/Scripts/frontier/battlepike/endless/checkin.dat differ diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/endless/enterchoose.dat b/P3D/Content/Data/Scripts/frontier/battlepike/endless/enterchoose.dat new file mode 100644 index 000000000..4d4176bc4 Binary files /dev/null and b/P3D/Content/Data/Scripts/frontier/battlepike/endless/enterchoose.dat differ diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/endless/intro_walk.dat b/P3D/Content/Data/Scripts/frontier/battlepike/endless/intro_walk.dat new file mode 100644 index 000000000..9871e8cce Binary files /dev/null and b/P3D/Content/Data/Scripts/frontier/battlepike/endless/intro_walk.dat differ diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/endless/lost.dat b/P3D/Content/Data/Scripts/frontier/battlepike/endless/lost.dat new file mode 100644 index 000000000..a823a2cea Binary files /dev/null and b/P3D/Content/Data/Scripts/frontier/battlepike/endless/lost.dat differ diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/endless/main.dat b/P3D/Content/Data/Scripts/frontier/battlepike/endless/main.dat new file mode 100644 index 000000000..ccbd67ed3 Binary files /dev/null and b/P3D/Content/Data/Scripts/frontier/battlepike/endless/main.dat differ diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/endless/record_machine.dat b/P3D/Content/Data/Scripts/frontier/battlepike/endless/record_machine.dat new file mode 100644 index 000000000..57323aaef Binary files /dev/null and b/P3D/Content/Data/Scripts/frontier/battlepike/endless/record_machine.dat differ diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/endless/roomevent.dat b/P3D/Content/Data/Scripts/frontier/battlepike/endless/roomevent.dat new file mode 100644 index 000000000..e8aa50729 Binary files /dev/null and b/P3D/Content/Data/Scripts/frontier/battlepike/endless/roomevent.dat differ diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/hint.dat b/P3D/Content/Data/Scripts/frontier/battlepike/hint.dat new file mode 100644 index 000000000..43480cf9f --- /dev/null +++ b/P3D/Content/Data/Scripts/frontier/battlepike/hint.dat @@ -0,0 +1,32 @@ +version=2 +:if:=true + @text.show(From every path I sense a dreadful presence...) + :end +:endif + +I beg your pardon, but...~Are you perhaps finding it difficult to choose your path? +@options.show(Yes,No) + :when:No + @text.show(I See...~I apologize for my~impertinence...) + :end + :when:Yes + :select: + :when:0 + @text.show(Ah, let me see...*There is something about~the path on the left...) + :when:1 + @text.show(Ah, let me see...*There is something about~the path in the center...) + :when:2 + @text.show(Ah, let me see...*There is something about~the path on the right...) + :endwhen + :select: + :when:0 + @text.show(For some odd reason,~I felt a wave of nostalgia~coming from it...) + :when:1 + @text.show(Is it...~A Trainer?*I sense the presence~of people...) + :when:2 + @text.show(It seems to have the distinct~aroma of Pokémon wafting~around it...) + :when:3 + @text.show(I seem to have heard~something...*It may have been~whispering...) + :endwhen +:endwhen +:end \ No newline at end of file diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/oldmanheal.dat b/P3D/Content/Data/Scripts/frontier/battlepike/oldmanheal.dat new file mode 100644 index 000000000..c693316d9 --- /dev/null +++ b/P3D/Content/Data/Scripts/frontier/battlepike/oldmanheal.dat @@ -0,0 +1,73 @@ +version=2 +@storage.set(integer,potheals,0) + +:if:=false + @storage.set(integer,potheals,+1) +:endif +:if:=false + @storage.set(integer,potheals,+1) +:endif +:if:=false + @storage.set(integer,potheals,+1) +:endif + +:select: + :when:0 + @text.show(You are already fully healed!) + :when:1 + @text.show(Ah, you're a lucky one.~I'm in somewhat-good~spirits now.*I will restore one of your~Pokémon to full health.) + @pokemon.heal + :when:2 + :select: + :when:1 + @text.show(Ah, you're a lucky one.~I'm in somewhat-good~spirits now.*I will restore one of your~Pokémon to full health.) + :select: + :when:0 + :if:=false + @pokemon.heal(0) + :else + @pokemon.heal() + :endif + :when:1 + :if:=false + @pokemon.heal(1) + :else + :select: + :when:0 + @pokemon.heal(0) + :when:1 + @pokemon.heal(2) + :endwhen + :endif + :when:2 + :if:=false + @pokemon.heal(2) + :else + @pokemon.heal() + :endif + :endwhen + :when:2 + @text.show(Ah, you're a lucky one.~I'm in somewhat-good~spirits now.*I will restore two of your~Pokémon to full health.) + @pokemon.heal + :endwhen + :when:3 + :select: + :when:1 + @text.show(Ah, you're a lucky one.~I'm in somewhat-good~spirits now.*I will restore one of your~Pokémon to full health.) + @pokemon.heal() + :when:2 + @text.show(Ah, you're a lucky one.~I'm in somewhat-good~spirits now.*I will restore two of your~Pokémon to full health.) + :select: + :when:0 + @pokemon.heal(1,2) + :when:1 + @pokemon.heal(0,2) + :when:2 + @pokemon.heal(0,1) + :endwhen + :endwhen +:endwhen +@text.show(The best of luck to you.~Farewell.) +@npc.turn(11,0) +@npc.move(11,2) +:end diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/roomchooser.dat b/P3D/Content/Data/Scripts/frontier/battlepike/roomchooser.dat new file mode 100644 index 000000000..be91d8d34 --- /dev/null +++ b/P3D/Content/Data/Scripts/frontier/battlepike/roomchooser.dat @@ -0,0 +1,125 @@ +version=2 +#0 = status Condition - skip if all status or faint +#1 = partial recovery - skip if fully healed +#2 = single battle +#3 = full recovery - Skip if fully healed +#4 = Wild Pokemon +#5 = Hard Battle+heal - not hinted if no healing needed +#6 = no event +#7 = Double Battle - skip if only one mon +#8 = Lucy +:if:=true + @register.change(pikehintspot,3) + @register.change(pikehint,4) + @register.change(pikehinted,8) + @player.move(0) + @text.show(I am sorry to say...*A terrifying event,~yes, a horrible one,~is about to befall you...*I urge you to pay the utmost~care and prepare for~the worst...) +:else + @register.change(pikehintspot,) + @register.change(pikehint,) + + :select: + :when:0 + :if: = none = none = none + :if:=true + @register.change(pikehinted,0) + :else + @register.change(pikehinted,) + :endif + :else + @register.change(pikehinted,1) + :endif + :when:1 + :if:=true + @register.change(pikehinted,2) + :else + @register.change(pikehinted,) + :endif + :when:2 + :if:=true + @register.change(pikehinted,4) + :else + @register.change(pikehinted,) + :endif + :when:3 + :if:=1 + @register.change(pikehinted,6) + :else + :if:=0 + @register.change(pikehinted,7) + :else + @register.change(pikehinted,6) + :endif + :endif + :when:4 + @register.change(pikehinted,8) + :endwhen + @storage.set(integer,potentialrooms,0) + @storage.set(integer,roomcounter,0) + :while:<8 + :select: + :when:0 + :if:=0 + :if: = none = none = none + @storage.set(integer,potroom,0) + @storage.update(integer,potentialrooms,+,1) + :endif + :endif + :when:1 + :if:=0 + :if:=false + @storage.set(integer,potroom,1) + @storage.update(integer,potentialrooms,+,1) + :endif + :endif + :when:2 + :if:=1 + @storage.set(integer,potroom,2) + @storage.update(integer,potentialrooms,+,1) + :endif + :when:3 + :if:=1 + :if:=false + @storage.set(integer,potroom,3) + @storage.update(integer,potentialrooms,+,1) + :endif + :endif + :when:4 + :if:=2 + @storage.set(integer,potroom,4) + @storage.update(integer,potentialrooms,+,1) + :endif + :when:5 + :if:=2 + @storage.set(integer,potroom,5) + @storage.update(integer,potentialrooms,+,1) + :endif + :when:6 + :if:=3 + @storage.set(integer,potroom,6) + @storage.update(integer,potentialrooms,+,1) + :endif + :when:7 + :if:=3 + :if:=1 + @storage.set(integer,potroom,7) + @storage.update(integer,potentialrooms,+,1) + :endif + :endif + :endwhen + @storage.update(integer,roomcounter,+,1) + :endwhile +:endif +@storage.set(integer,roomsset,0) +:while:<3 + :if:=true + @register.change(pikeroom,8) + :else + :if: = + @register.change(pikeroom,) + :else + @register.change(pikeroom,-1)>)>)>) + :endif + :endif + @storage.update(integer,roomsset,+,1) +:endwhile diff --git a/P3D/Content/Data/Scripts/frontier/battlepike/ruleboard.dat b/P3D/Content/Data/Scripts/frontier/battlepike/ruleboard.dat new file mode 100644 index 000000000..040bf3360 Binary files /dev/null and b/P3D/Content/Data/Scripts/frontier/battlepike/ruleboard.dat differ diff --git a/P3D/Content/Data/Scripts/frontier/battletower/ruleboard.dat b/P3D/Content/Data/Scripts/frontier/battletower/ruleboard.dat index 0e45817a3..4085d83f2 100644 Binary files a/P3D/Content/Data/Scripts/frontier/battletower/ruleboard.dat and b/P3D/Content/Data/Scripts/frontier/battletower/ruleboard.dat differ diff --git a/P3D/Content/Data/Scripts/frontier/teamcheck.dat b/P3D/Content/Data/Scripts/frontier/teamcheck.dat new file mode 100644 index 000000000..ce77ce7d5 --- /dev/null +++ b/P3D/Content/Data/Scripts/frontier/teamcheck.dat @@ -0,0 +1,28 @@ +version=2 +@storage.set(integer,checked,0) +@storage.set(string,pokedupe,0) +@storage.set(string,itemdupe,0) +:while:< + :select:)> + :when:150;151;249;250;251;382;383;384;385;386;483;484;487;489;490;491;492;493;494;643;644;646;647;648;649;716;717;718;719;720;721;789;790;791;792;800;801;802;807;808;809;888;889;890;893;898;1007;1008 + @text.show(You have a restricted Pokémon on your team, please choose a different Pokémon.) + :endscript + :when: + @text.show(Duplicate Pokémon are not allowed, please choose a different Pokémon.) + :endscript + :endwhen + + :if:)=true + @text.show(Eggs are not allowed, please choose a different Pokémon.) + :endscript + :endif + :select:)> + :when: + @text.show(Duplicate held items are not allowed, please choose a different Pokémon.) + :endscript + :endwhen + + @storage.set(string,pokedupe,;)>) + @storage.set(string,itemdupe,;)>) + @storage.set(integer,checked,+1) +:endwhile \ No newline at end of file diff --git a/P3D/Content/Data/Scripts/route31/sleepy_guy.dat b/P3D/Content/Data/Scripts/route31/sleepy_guy.dat index 869c89121..3dd45e102 100644 Binary files a/P3D/Content/Data/Scripts/route31/sleepy_guy.dat and b/P3D/Content/Data/Scripts/route31/sleepy_guy.dat differ diff --git a/P3D/Content/Data/Scripts/trainer/frontier/battletower/draco.trainer b/P3D/Content/Data/Scripts/trainer/frontier/battlefactory/draco.trainer similarity index 100% rename from P3D/Content/Data/Scripts/trainer/frontier/battletower/draco.trainer rename to P3D/Content/Data/Scripts/trainer/frontier/battlefactory/draco.trainer diff --git a/P3D/Content/Data/Scripts/trainer/frontier/battlepike/lucy_gold.trainer b/P3D/Content/Data/Scripts/trainer/frontier/battlepike/lucy_gold.trainer new file mode 100644 index 000000000..e2fcb6aeb Binary files /dev/null and b/P3D/Content/Data/Scripts/trainer/frontier/battlepike/lucy_gold.trainer differ diff --git a/P3D/Content/Data/Scripts/trainer/frontier/battlepike/lucy_silver.trainer b/P3D/Content/Data/Scripts/trainer/frontier/battlepike/lucy_silver.trainer new file mode 100644 index 000000000..e2fcb6aeb Binary files /dev/null and b/P3D/Content/Data/Scripts/trainer/frontier/battlepike/lucy_silver.trainer differ diff --git a/P3D/Content/Data/badges.dat b/P3D/Content/Data/badges.dat index cfac28d19..449805ece 100644 --- a/P3D/Content/Data/badges.dat +++ b/P3D/Content/Data/badges.dat @@ -17,7 +17,10 @@ 16|Rising|level=100|HM=Waterfall|Texture=GUI\Badges,350,50,50,50|Region=Johto frontier_1_silver|name=Silver Ability|description=You defeated the Frontier Brain of~Battle Tower and showed him how~you and your Pokémon really are.|Texture=GUI\Badges,0,200,50,50 -frontier_1_gold|name=Gold Ability|description=You defeated the Frontier Brain of~Battle Tower a second time and you've shown~your real strength when it comes to battles.|Texture=GUI\Badges,50,200,50,50 +frontier_1_gold|name=Gold Ability|description=You defeated the Frontier Brain of~Battle Tower a second time and you've shown~your real strength when it comes to battles.|Texture=GUI\Badges,0,250,50,50 -frontier_2_silver|name=Silver Knowledge|description=Only few trainers achieved this emblem~which shows what strength lies~inside them.|Texture=GUI\Badges,100,200,50,50 -frontier_2_gold|name=Gold Knowledge|description=This Emblem displays how great you can~interact with Pokémon and how well~you can adapt your strategy to a new situation.|Texture=GUI\Badges,150,200,50,50 +frontier_2_silver|name=Silver Knowledge|description=Only few trainers achieved this emblem~which shows what strength lies~inside them.|Texture=GUI\Badges,50,200,50,50 +frontier_2_gold|name=Gold Knowledge|description=This Emblem displays how great you can~interact with Pokémon and how well~you can adapt your strategy to a new situation.|Texture=GUI\Badges,50,250,50,50 + +frontier_3_silver|name=Silver Luck|description=You have shown great skill at taking~the luck thrown your way, good or bad.|Texture=GUI\Badges,100,200,50,50 +frontier_3_gold|name=Gold Luck|description=Your luck trumped all at the Battle Pike.~You mitigated the worst luck and~doubled down on the best luck.|Texture=GUI\Badges,100,250,50,50 diff --git a/P3D/Content/Data/maps/frontier/battlepike/choose.dat b/P3D/Content/Data/maps/frontier/battlepike/choose.dat new file mode 100644 index 000000000..c4189de33 Binary files /dev/null and b/P3D/Content/Data/maps/frontier/battlepike/choose.dat differ diff --git a/P3D/Content/Data/maps/frontier/battlepike/finalroom.dat b/P3D/Content/Data/maps/frontier/battlepike/finalroom.dat new file mode 100644 index 000000000..20fc315ae Binary files /dev/null and b/P3D/Content/Data/maps/frontier/battlepike/finalroom.dat differ diff --git a/P3D/Content/Data/maps/frontier/battlepike/main.dat b/P3D/Content/Data/maps/frontier/battlepike/main.dat index 0f77ae6d6..cc90707e5 100644 Binary files a/P3D/Content/Data/maps/frontier/battlepike/main.dat and b/P3D/Content/Data/maps/frontier/battlepike/main.dat differ diff --git a/P3D/Content/Data/maps/frontier/battlepike/passage.dat b/P3D/Content/Data/maps/frontier/battlepike/passage.dat index e8d1176a4..0170c9543 100644 Binary files a/P3D/Content/Data/maps/frontier/battlepike/passage.dat and b/P3D/Content/Data/maps/frontier/battlepike/passage.dat differ diff --git a/P3D/Content/Data/maps/frontier/battlepike/room.dat b/P3D/Content/Data/maps/frontier/battlepike/room.dat deleted file mode 100644 index dace9fa25..000000000 Binary files a/P3D/Content/Data/maps/frontier/battlepike/room.dat and /dev/null differ diff --git a/P3D/Content/Data/maps/frontier/battlepike/rooms/0.dat b/P3D/Content/Data/maps/frontier/battlepike/rooms/0.dat new file mode 100644 index 000000000..3d350bafd Binary files /dev/null and b/P3D/Content/Data/maps/frontier/battlepike/rooms/0.dat differ diff --git a/P3D/Content/Data/maps/frontier/battlepike/rooms/1.dat b/P3D/Content/Data/maps/frontier/battlepike/rooms/1.dat new file mode 100644 index 000000000..7effd1613 Binary files /dev/null and b/P3D/Content/Data/maps/frontier/battlepike/rooms/1.dat differ diff --git a/P3D/Content/Data/maps/frontier/battlepike/rooms/2.dat b/P3D/Content/Data/maps/frontier/battlepike/rooms/2.dat new file mode 100644 index 000000000..7effd1613 Binary files /dev/null and b/P3D/Content/Data/maps/frontier/battlepike/rooms/2.dat differ diff --git a/P3D/Content/Data/maps/frontier/battlepike/wildroom.dat b/P3D/Content/Data/maps/frontier/battlepike/wildroom.dat index 49a3167fb..337296e5d 100644 Binary files a/P3D/Content/Data/maps/frontier/battlepike/wildroom.dat and b/P3D/Content/Data/maps/frontier/battlepike/wildroom.dat differ diff --git a/P3D/Content/Data/maps/poke/frontier/battlepike/wildroom.poke b/P3D/Content/Data/maps/poke/frontier/battlepike/wildroom.poke new file mode 100644 index 000000000..d1c981ce2 --- /dev/null +++ b/P3D/Content/Data/maps/poke/frontier/battlepike/wildroom.poke @@ -0,0 +1,5 @@ +name=Skip +type=Skip +{0|{"Pokemon"[336]}{"OriginalNumber"[-1]}{"Gender"[0]}{"EggSteps"[0]}{"Item"[0]}{"ItemData"[]}{"NickName"[]}{"Level"[]}{"OT"[00000]}{"Ability"[151]}{"Status"[]}{"Nature"[3]}{"CatchLocation"[Battle Pike]}{"CatchTrainer"[Lucy]}{"CatchBall"[5]}{"CatchMethod"[annoyed]}{"Friendship"[70]}{"isShiny"[0]}{"Attack1"[92]}{"Attack2"[137]}{"Attack3"[188]}{"Attack4"[34]}{"EVs"[88,84,84,84,84,84]}{"IVs"[22,22,22,22,22,22]}{"AdditionalData"[]}|26|-1|,} +{0|{"Pokemon"[350]}{"OriginalNumber"[-1]}{"Gender"[0]}{"EggSteps"[0]}{"Item"[0]}{"ItemData"[]}{"NickName"[]}{"Level"[]}{"OT"[00000]}{"Ability"[63]}{"Status"[]}{"Nature"[15]}{"CatchLocation"[Battle Pike]}{"CatchTrainer"[Lucy]}{"CatchBall"[5]}{"CatchMethod"[annoyed]}{"Friendship"[70]}{"isShiny"[0]}{"Attack1"[92]}{"Attack2"[95]}{"Attack3"[34]}{"Attack4"[57]}{"EVs"[88,84,84,84,84,84]}{"IVs"[22,22,22,22,22,22]}{"AdditionalData"[]}|26|-1|,} +{0||48|-1|,} diff --git a/P3D/Content/GUI/Badges.png b/P3D/Content/GUI/Badges.png index c9b0183e3..4c82d6e26 100644 Binary files a/P3D/Content/GUI/Badges.png and b/P3D/Content/GUI/Badges.png differ diff --git a/P3D/Content/Items/ItemSheet.png b/P3D/Content/Items/ItemSheet.png index 5f77c7723..b73a1e30d 100644 Binary files a/P3D/Content/Items/ItemSheet.png and b/P3D/Content/Items/ItemSheet.png differ diff --git a/P3D/Content/Items/Memories.png b/P3D/Content/Items/Memories.png index d30d34758..a8aca38ac 100644 Binary files a/P3D/Content/Items/Memories.png and b/P3D/Content/Items/Memories.png differ diff --git a/P3D/Content/Localization/Tokens_en.dat b/P3D/Content/Localization/Tokens_en.dat index 8ab4d8396..4d58797e9 100644 --- a/P3D/Content/Localization/Tokens_en.dat +++ b/P3D/Content/Localization/Tokens_en.dat @@ -3363,6 +3363,8 @@ move_desc_442,The user slams the target with its steel-hard head. This may also move_desc_452,The user slams its rugged body into the target to attack. The user also sustains serious damage. +move_desc_577,The user steals the target's energy with a kiss. The user's HP is restored by over half of the damage taken by the target. + move_desc_583,The user plays rough with the target and attacks it. This may also lower the target's Attack stat. move_desc_584,The user stirs up a fairy wind and strikes the target with it. move_desc_585,Borrowing the power of the moon, the user attacks the target. This may also lower the target's Sp. Atk. stat. @@ -3370,6 +3372,418 @@ move_desc_585,Borrowing the power of the moon, the user attacks the target. This move_desc_790,The user attacks the target by emitting steam. This may also confuse the target. move_desc_797,The user converts its rage into energy to attack. The more times the user has been hit by attacks, the greater the move's power. +------------------- +Ability Names: +ability_name_1,Stench +ability_name_2,Drizzle +ability_name_3,Speed Boost +ability_name_4,Battle Armor +ability_name_5,Sturdy +ability_name_6,Damp +ability_name_7,Limber +ability_name_8,Sand Veil +ability_name_9,Static +ability_name_10,Volt Absorb +ability_name_11,Water Absorb +ability_name_12,Oblivious +ability_name_13,Cloud Nine +ability_name_14,Compoundeyes +ability_name_15,Insomnia +ability_name_16,Color Change +ability_name_17,Immunity +ability_name_18,Flash Fire +ability_name_19,Shield Dust +ability_name_20,Own Tempo +ability_name_21,Suction Cups +ability_name_22,Intimidate +ability_name_23,Shadow Tag +ability_name_24,Rough Skin +ability_name_25,Wonder Guard +ability_name_26,Levitate +ability_name_27,Effect Spore +ability_name_28,Synchronize +ability_name_29,Clear Body +ability_name_30,Natural Cure +ability_name_31,Lightningrod +ability_name_32,Serene Grace +ability_name_33,Swift Swim +ability_name_34,Chlorophyll +ability_name_35,Illuminate +ability_name_36,Trace +ability_name_37,Huge Power +ability_name_38,Poison Point +ability_name_39,Inner Focus +ability_name_40,Magma Armor +ability_name_41,Water Veil +ability_name_42,Magnet Pull +ability_name_43,Soundproof +ability_name_44,Rain Dish +ability_name_45,Sand Stream +ability_name_46,Pressure +ability_name_47,Thick Fat +ability_name_48,Early Bird +ability_name_49,Flame Body +ability_name_50,Run Away +ability_name_51,Keen Eye +ability_name_52,Hyper Cutter +ability_name_53,Pickup +ability_name_54,Truant +ability_name_55,Hustle +ability_name_56,Cute Charm +ability_name_57,Plus +ability_name_58,Minus +ability_name_59,Forecast +ability_name_60,Sticky Hold +ability_name_61,Shed Skin +ability_name_62,Guts +ability_name_63,Marvel Scale +ability_name_64,Liquid Ooze +ability_name_65,Overgrow +ability_name_66,Blaze +ability_name_67,Torrent +ability_name_68,Swarm +ability_name_69,Rock Head +ability_name_70,Drought +ability_name_71,Arena Trap +ability_name_72,Vital Spirit +ability_name_73,White Smoke +ability_name_74,Pure Power +ability_name_75,Shell Armor +ability_name_76,Air Lock +ability_name_77,Tangled Feet +ability_name_78,Motor Drive +ability_name_79,Rivalry +ability_name_80,Steadfast +ability_name_81,Snow Cloak +ability_name_82,Gluttony +ability_name_83,Anger Point +ability_name_84,Unburden +ability_name_85,Heatproof +ability_name_86,Simple +ability_name_87,Dry Skin +ability_name_88,Download +ability_name_89,Iron Fist +ability_name_90,Poison Heal +ability_name_91,Adaptability +ability_name_92,Skill Link +ability_name_93,Hydration +ability_name_94,Solar Power +ability_name_95,Quick Feet +ability_name_96,Normalize +ability_name_97,Sniper +ability_name_98,Magic Guard +ability_name_99,No Guard +ability_name_100,Stall +ability_name_101,Technician +ability_name_102,Leaf Guard +ability_name_103,Klutz +ability_name_104,Mold Breaker +ability_name_105,Super Luck +ability_name_106,Aftermath +ability_name_107,Anticipation +ability_name_108,Forewarn +ability_name_109,Unaware +ability_name_110,Tinted Lens +ability_name_111,Filter +ability_name_112,Slow Start +ability_name_113,Scrappy +ability_name_114,Storm Drain +ability_name_115,Ice Body +ability_name_116,Solid Rock +ability_name_117,Snow Warning +ability_name_118,Honey Gather +ability_name_119,Frisk +ability_name_120,Reckless +ability_name_121,Multitype +ability_name_122,Flower Gift +ability_name_123,Bad Dreams +ability_name_124,Pickpocket +ability_name_125,Sheer Force +ability_name_126,Contrary +ability_name_127,Unnerve +ability_name_128,Defiant +ability_name_129,Defeatist +ability_name_130,Cursed Body +ability_name_131,Healer +ability_name_132,Friend Guard +ability_name_133,Weak Armor +ability_name_134,Heavy Metal +ability_name_135,Light Metal +ability_name_136,Multiscale +ability_name_137,Toxic Boost +ability_name_138,Flare Boost +ability_name_139,Harvest +ability_name_140,Telepathy +ability_name_141,Moody +ability_name_142,Overcoat +ability_name_143,Poison Touch +ability_name_144,Regenerator +ability_name_145,Big Pecks +ability_name_146,Sand Rush +ability_name_147,Wonder Skin +ability_name_148,Analytic +ability_name_149,Illusion +ability_name_150,Imposter +ability_name_151,Infiltrator +ability_name_152,Mummy +ability_name_153,Moxie +ability_name_154,Justified +ability_name_155,Rattled +ability_name_156,Magic Bounce +ability_name_157,Sap Sipper +ability_name_158,Prankster +ability_name_159,Sand Force +ability_name_160,Iron Barbs +ability_name_161,Zen Mode +ability_name_162,Victory Star +ability_name_163,Turboblaze +ability_name_164,Teravolt +ability_name_165,Aroma Veil +ability_name_166,Flower Veil +ability_name_167,Cheek Pouch +ability_name_168,Protean +ability_name_169,Fur Coat +ability_name_170,Magician +ability_name_171,Bulletproof +ability_name_172,Competitive +ability_name_173,Strong Jaw +ability_name_174,Refrigerate +ability_name_175,Sweet Veil +ability_name_176,Stance Change +ability_name_177,Gale Wings +ability_name_178,Mega Launcher +ability_name_179,Grass Pelt +ability_name_180,Symbiosis +ability_name_181,Tough Claws +ability_name_182,Pixilate +ability_name_183,Gooey +ability_name_184,Aerilate +ability_name_185,Parental Bond +ability_name_186,Dark Aura +ability_name_187,Fairy Aura +ability_name_188,Aura Break + +ability_name_202,Slush Rush + +ability_name_206,Galvanize +ability_name_207,Surge Surfer + +ability_name_221,Tangling Hair + +ability_name_223,Power of Alchemy + +ability_name_226,Electric Surge +ability_name_227,Psychic Surge +ability_name_228,Misty Surge +ability_name_229,Grassy Surge + +ability_name_243,Steam Engine +------------------- +Ability Descriptions: +ability_desc_1,The stench may cause the target to flinch. +ability_desc_2,The Pokémon makes it rain if it appears in battle. +ability_desc_3,Its Speed stat is gradually boosted. +ability_desc_4,The Pokémon is protected against critical hits. +ability_desc_5,It cannot be knocked out with one hit. +ability_desc_6,Prevents the use of self-destructing moves. +ability_desc_7,The Pokémon is protected from paralysis. +ability_desc_8,Boosts the Pokémon's evasion in a sandstorm. +ability_desc_9,Contact with the Pokémon may cause paralysis. +ability_desc_10,Restores HP if hit by an Electric-type move. +ability_desc_11,Restores HP if hit by a Water-type move. +ability_desc_12,Prevents it from becoming infatuated. +ability_desc_13,Eliminates the effects of weather. +ability_desc_14,The Pokémon's accuracy is boosted. +ability_desc_15,Prevents the Pokémon from falling asleep. +ability_desc_16,Changes the Pokémon's type to the foe's move. +ability_desc_17,Prevents the Pokémon from getting poisoned. +ability_desc_18,It powers up Fire-type moves if it's hit by one. +ability_desc_19,Blocks the added effects of attacks taken. +ability_desc_20,Prevents the Pokémon from becoming confused. +ability_desc_21,Negates all moves that force switching out. +ability_desc_22,Lowers the foe's Attack stat. +ability_desc_23,Prevents the foe from escaping. +ability_desc_24,Inflicts damage to the attacker on contact. +ability_desc_25,Only supereffective moves will hit. +ability_desc_26,Gives full immunity to all Ground-type moves. +ability_desc_27,Contact may poison or cause paralysis or sleep. +ability_desc_28,Passes a burn or paralysis to the foe. +ability_desc_29,Prevents other Pokémon from lowering its stats. +ability_desc_30,All status problems heal when it switches out. +ability_desc_31,Draws in all Electric-type moves to up Sp. Attack. +ability_desc_32,Boosts the likelihood of added effects appearing. +ability_desc_33,Boosts the Pokémon's Speed in rain. +ability_desc_34,Boosts the Pokémon's Speed in sunshine. +ability_desc_35,Raises the likelihood of meeting wild Pokémon. +ability_desc_36,The Pokémon copies a foe's Ability. +ability_desc_37,Raises the Pokémon's Attack stat. +ability_desc_38,Contact with the Pokémon may poison the attacker. +ability_desc_39,The Pokémon is protected from flinching. +ability_desc_40,Prevents the Pokémon from becoming frozen. +ability_desc_41,Prevents the Pokémon from getting a burn. +ability_desc_42,Prevents Steel-type Pokémon from escaping. +ability_desc_43,Gives full immunity to all sound-based moves. +ability_desc_44,The Pokémon gradually regains HP in rain. +ability_desc_45,The Pokémon summons a sandstorm in battle. +ability_desc_46,The Pokémon raises the foe's PP usage. +ability_desc_47,Ups resistance to Fire- and Ice-type moves. +ability_desc_48,The Pokémon awakens quickly from sleep. +ability_desc_49,Contact with the Pokémon may burn the attacker. +ability_desc_50,Enables a sure getaway from wild Pokémon. +ability_desc_51,Prevents other Pokémon from lowering accuracy. +ability_desc_52,Prevents other Pokémon from lowering Attack stat. +ability_desc_53,The Pokémon may pick up items. +ability_desc_54,Pokémon can't attack on consecutive turns. +ability_desc_55,Boosts the Attack stat but lowers accuracy. +ability_desc_56,Contact with the Pokémon may cause infatuation. +ability_desc_57,Ups Sp. Atk. if another Pokémon has Plus or Minus. +ability_desc_58,Ups Sp. Atk. if another Pokémon has Plus or Minus. +ability_desc_59,Castform transforms with the weather. +ability_desc_60,Protects the Pokémon from item theft. +ability_desc_61,The Pokémon may heal its own status problems. +ability_desc_62,Boosts Attack if there is a status problem. +ability_desc_63,Ups Defense if there is a status problem. +ability_desc_64,Damages attackers using any draining move. +ability_desc_65,Powers up Grass-type moves in a pinch. +ability_desc_66,Powers up Fire-type moves in a pinch. +ability_desc_67,Powers up Water-type moves in a pinch. +ability_desc_68,Powers up Bug-type moves in a pinch. +ability_desc_69,Protects the Pokémon from recoil damage. +ability_desc_70,Turns the sunlight harsh if it is in battle. +ability_desc_71,Prevents the foe from fleeing. +ability_desc_72,Prevents the Pokémon from falling asleep. +ability_desc_73,Prevents other Pokémon from lowering its stats. +ability_desc_74,Raises the Pokémon's Attack stat. +ability_desc_75,The Pokémon is protected against critical hits. +ability_desc_76,Eliminates the effects of weather. +ability_desc_77,Raises evasion if the Pokémon is confused. +ability_desc_78,Raises Speed if hit by an Electric-type move. +ability_desc_79,Deals more damage to a Pokémon of same gender. +ability_desc_80,Raises Speed each time the Pokémon flinches. +ability_desc_81,Raises evasion in a hailstorm. +ability_desc_82,Encourages the early use of a held Berry. +ability_desc_83,Maxes Attack after taking a critical hit. +ability_desc_84,Raises Speed if a held item is used. +ability_desc_85,Weakens the power of Fire-type moves. +ability_desc_86,The Pokémon is prone to wild stat changes. +ability_desc_87,Reduces HP if it is hot. Water restores HP. +ability_desc_88,Adjusts power according to a foe's defenses. +ability_desc_89,Boosts the power of punching moves. +ability_desc_90,Restores HP if the Pokémon is poisoned. +ability_desc_91,Powers up moves of the same type. +ability_desc_92,Increases the frequency of multi-strike moves. +ability_desc_93,Heals status problems if it is raining. +ability_desc_94,In sunshine boosted but HP decreases. +ability_desc_95,Boosts Speed if there is a status problem. +ability_desc_96,All the Pokémon's moves become the Normal type. +ability_desc_97,Powers up moves if they become critical hits. +ability_desc_98,The Pokémon only takes damage from attacks. +ability_desc_99,Ensures attacks by or against the Pokémon land. +ability_desc_100,The Pokémon moves after all other Pokémon do. +ability_desc_101,Powers up the Pokémon's weaker moves. +ability_desc_102,Prevents problems with status in sunny weather. +ability_desc_103,The Pokémon can't use any held items. +ability_desc_104,Moves can be used regardless of Abilities. +ability_desc_105,Heightens the critical- hit ratios of moves. +ability_desc_106,Damages the attacker landing the finishing hit. +ability_desc_107,Senses a foe's dangerous moves. +ability_desc_108,Determines what moves a foe has. +ability_desc_109,Ignores any stat changes in the Pokémon. +ability_desc_110,Powers up not very effective moves. +ability_desc_111,Reduces damage from supereffective attacks. +ability_desc_112,Temporarily halves Attack and Speed. +ability_desc_113,Enables moves to hit Ghost-type Pokémon. +ability_desc_114,Draws in all Water-type moves to up Sp. Attack. +ability_desc_115,The Pokémon gradually regains HP in a hailstorm. +ability_desc_116,Reduces damage from supereffective attacks. +ability_desc_117,The Pokémon summons a hailstorm in battle. +ability_desc_118,The Pokémon may gather Honey from somewhere. +ability_desc_119,The Pokémon can check a foe's held item. +ability_desc_120,Powers up moves that have recoil damage. +ability_desc_121,Changes type to match the held Plate. +ability_desc_122,Powers up party Pokémon when it is sunny. +ability_desc_123,Reduces a sleeping foe's HP. +ability_desc_124,Steals an item when hit by another Pokémon. +ability_desc_125,Removes added effects to increase move damage. +ability_desc_126,Makes stat changes have an opposite effect. +ability_desc_127,Makes the foe nervous and unable to eat Berries. +ability_desc_128,When its stats are lowered its Attack increases. +ability_desc_129,Lowers stats when HP becomes half or less. +ability_desc_130,May disable a move used on the Pokémon. +ability_desc_131,May heal an ally's status conditions. +ability_desc_132,Reduces damage done to allies. +ability_desc_133,Physical attacks lower Defense and raise Speed. +ability_desc_134,Doubles the Pokémon's weight. +ability_desc_135,Halves the Pokémon's weight. +ability_desc_136,Reduces damage when HP is full. +ability_desc_137,Powers up physical attacks when poisoned. +ability_desc_138,Powers up special attacks when burned. +ability_desc_139,May create another Berry after one is used. +ability_desc_140,Anticipates an ally's attack and dodges it. +ability_desc_141,Raises one stat and lowers another. +ability_desc_142,Protects the Pokémon from damage from weather. +ability_desc_143,May poison targets when a Pokémon makes contact. +ability_desc_144,Restores a little HP when withdrawn from battle. +ability_desc_145,Protects the Pokémon from Defense-lowering attacks. +ability_desc_146,Boosts the Pokémon's Speed in a sandstorm. +ability_desc_147,Makes status-changing moves more likely to miss. +ability_desc_148,Boosts move power when the Pokémon moves last. +ability_desc_149,Comes out disguised as the Pokémon in back. +ability_desc_150,It transforms itself into the Pokémon it is facing. +ability_desc_151,Passes through the foe's barrier and strikes. +ability_desc_152,Contact with this Pokémon spreads this Ability. +ability_desc_153,Boosts Attack after knocking out any Pokémon. +ability_desc_154,Raises Attack when hit by a Dark-type move. +ability_desc_155,Some move types scare it and boost its Speed. +ability_desc_156,Reflects status- changing moves. +ability_desc_157,Boosts Attack when hit by a Grass-type move. +ability_desc_158,Gives priority to a status move. +ability_desc_159,Boosts certain moves' power in a sandstorm. +ability_desc_160,Inflicts damage to the Pokémon on contact. +ability_desc_161,Changes the Pokémon's shape when HP is halved. +ability_desc_162,Boosts the accuracy of its allies and itself. +ability_desc_163,Moves can be used regardless of Abilities. +ability_desc_164,Moves can be used regardless of Abilities. +ability_desc_165,Protects allies from attacks that limit their move choices. +ability_desc_166,Prevents lowering of ally Grass-type Pokémon's stats. +ability_desc_167,Restores HP as well when the Pokémon eats a Berry. +ability_desc_168,Changes the Pokémon's type to the same type of the move it is using. +ability_desc_169,Halves damage from physical moves. +ability_desc_170,The Pokémon steals the held item of a Pokémon it hits with a move. +ability_desc_171,Protects the Pokémon from some ball and bomb moves. +ability_desc_172,Boosts the Sp. Atk. stat when a stat is lowered. +ability_desc_173,The Pokémon's strong jaw gives it tremendous biting power. +ability_desc_174,Normal-type moves become Ice-type moves. +ability_desc_175,Prevents itself and its allies from falling asleep. +ability_desc_176,The Pokémon changes form depending on how it battles. +ability_desc_177,Gives priority to Flying-type moves. +ability_desc_178,Powers up aura and pulse moves. +ability_desc_179,Boosts the Defense stat in Grassy Terrain. +ability_desc_180,The Pokémon can pass an item to an ally. +ability_desc_181,Powers up moves that make direct contact. +ability_desc_182,Normal-type moves become Fairy-type moves. +ability_desc_183,Contact with the Pokémon lowers the attacker's Speed stat. +ability_desc_184,Normal-type moves become Flying-type moves. +ability_desc_185,Parent and child attack together. +ability_desc_186,Powers up each Pokémon's Dark-type moves. +ability_desc_187,Powers up each Pokémon's Fairy-type moves. +ability_desc_188,The effects of Aura Abilities are reversed. + +ability_desc_202,Boosts the Pokémon's Speed stat in a hailstorm. + +ability_desc_206,Normal-type moves become Electric-type moves. The power of those moves is boosted a little. +ability_desc_207,Doubles the Pokémon's Speed stat on Electric Terrain. + +ability_desc_221,Contact with the Pokémon lowers the attacker's Speed stat. + +ability_desc_223,The Pokémon copies the Ability of a defeated ally. + +ability_desc_226,Turns the ground into Electric Terrain when the Pokémon enters a battle. +ability_desc_227,Turns the ground into Psychic Terrain when the Pokémon enters a battle. +ability_desc_228,Turns the ground into Misty Terrain when the Pokémon enters a battle. +ability_desc_229,Turns the ground into Grassy Terrain when the Pokémon enters a battle. + +ability_desc_243,Boosts the Pokémon's Speed stat drastically if hit by a Fire- or Water-type move. ----------------------------------------------------------------------------------------------------------------------------------------------------------------- Story translation: --- diff --git a/P3D/Content/Localization/Tokens_nl.dat b/P3D/Content/Localization/Tokens_nl.dat index 0a9b9a075..471499716 100644 --- a/P3D/Content/Localization/Tokens_nl.dat +++ b/P3D/Content/Localization/Tokens_nl.dat @@ -80,12 +80,12 @@ global_used,Gebruikt --- Pokémon & Attack Properties: -property_HP,IP +property_HP,LP property_PP,KP property_No.,Nr. property_Lv.,Nv. property_Level,Niveau -property_MaxHP,Max IP +property_MaxHP,Max LP property_Attack,Aanval property_Defense,Verdediging property_Special_Attack,Speciale Aanval @@ -2497,7 +2497,7 @@ item_pluralname_43,Maximale Afweersers Vitamins: item_name_25,Zink -item_name_26,IP-Plus +item_name_26,LP-Plus item_name_27,Proteïne item_name_28,Ijzer item_name_29,Koolhydraat @@ -2505,7 +2505,7 @@ item_name_31,Calcium Vitamins (Plural): item_pluralname_25,Zinken -item_pluralname_26,IP-Plussen +item_pluralname_26,LP-Plussen item_pluralname_27,Proteïnes item_pluralname_28,Ijzers item_pluralname_29,Koolhydraten @@ -2946,7 +2946,7 @@ move_name_69,Seismische smak move_name_70,Kracht move_name_71,Absorbeer move_name_72,Enorme absorbering -move_name_73,IP-onttrekkend zaadje +move_name_73,LP-onttrekkend zaadje move_name_74,Groei move_name_75,Mesblad move_name_76,Zonnestraal @@ -3540,7 +3540,7 @@ move_desc_45,De gebruiker gromt op een vertederende manier, waardoor de tegensta move_desc_46,Het doelwit wordt afgeschrikt en er wordt een andere Pokémon uitgesleept. In het wild eindigt dit een gevecht tegen één Pokémon. move_desc_47,Er wordt een rustgevend slaapliedje gezongen met een kalmerende stem die het doelwit in een diepe slaap brengt. move_desc_48,De gebruiker genereert vreemde geluidsgolven vanuit zijn lichaam. Het kan het doelwit verwarren. -move_desc_49,Het doelwit wordt geraakt met een destructieve schokgolf die altijd 20 IP schade toebrengt. +move_desc_49,Het doelwit wordt geraakt met een destructieve schokgolf die altijd 20 LP schade toebrengt. move_desc_50,Vier beurten lang kan het doelwit de techniek die het als laatste gebruikte niet gebruiken. move_desc_51,De tegenpartij wordt aangevallen met een spray van agressief zuur. Het zuur kan ook de Sp. Verdediging-attributen van de tegenstanders verlagen. move_desc_52,Het doelwit wordt aangevallen met kleine vlammen. Hierdoor kan het doelwit ook verbrand raken. @@ -3562,9 +3562,9 @@ move_desc_67,Een krachtige lage trap die het doelwit doet omvallen. Brengt meer move_desc_68,Een vergeldingstechniek die tegen elke fysieke aanval ingaat en dubbele schade toebrengt. move_desc_69,Het doelwit wordt weggeworpen met behulp van de zwaartekracht. De schade is gelijk aan het niveau van de gebruiker. move_desc_70,Het doelwit wordt geraakt met een vuistslag op maximale kracht. Deze techniek kan ook gebruikt worden om rotsblokken te verplaatsen. -move_desc_71,Brengt schade toe aan het doelwit en herstelt vervolgens de IP van de gebruiker op basis van de toegebrachte schade. -move_desc_72,Een voedingsstoffen-onttrekkende aanval. De IP van de gebruiker wordt hersteld met de helft van de schade die het doelwit oploopt. -move_desc_73,Een zaadje wordt op het doelwit geplant. Het onttrekt elke beurt wat IP aan het doelwit. +move_desc_71,Brengt schade toe aan het doelwit en herstelt vervolgens de LP van de gebruiker op basis van de toegebrachte schade. +move_desc_72,Een voedingsstoffen-onttrekkende aanval. De LP van de gebruiker wordt hersteld met de helft van de schade die het doelwit oploopt. +move_desc_73,Een zaadje wordt op het doelwit geplant. Het onttrekt elke beurt wat LP aan het doelwit. move_desc_74,Het lichaam van de gebruiker groeit in één keer, waardoor de Aanval- en Sp. Aanval-attributen verhoogd worden. move_desc_75,Scherpgerande bladeren worden gelanceerd om op de tegenstander in te slaan. Kritieke treffers komen gemakkelijker aan. move_desc_76,Een aanval met twee beurten. De gebruiker verzamelt licht en vuurt dan een gebundelde straal af tijdens de tweede beurt. @@ -3573,7 +3573,7 @@ move_desc_78,De gebruiker verspreidt een wolk verlammend poeder. Het kan het doe move_desc_79,De gebruiker verstrooit een grote wolk slaapverwekkende stof rond het doelwit. move_desc_80,De gebruiker valt het doelwit aan door twee tot drie beurten lang bloemblaadjes te strooien. De gebruiker raakt dan in de war. move_desc_81,De doelwitten worden gebonden met zijde die uit de mond van de gebruiker wordt geblazen. Deze zijde verlaagt het Snelheid-attribuut van het doelwit. -move_desc_82,Deze aanval raakt het doelwit met een schokgolf van pure woede. Deze aanval brengt altijd 40 IP schade toe. +move_desc_82,Deze aanval raakt het doelwit met een schokgolf van pure woede. Deze aanval brengt altijd 40 LP schade toe. move_desc_83,Het doelwit raakt gevangen in een woeste draaikolk van vuur die vier tot vijf beurten woedt. move_desc_84,Een stroomstoot wordt naar het doelwit geslingerd om schade toe te brengen. Het kan het doelwit ook verlammen. move_desc_85,Een sterke elektrische stoot wordt op het doelwit losgelaten. Deze kan het doelwit ook verlammen. @@ -3596,7 +3596,7 @@ move_desc_101,De gebruiker laat het doelwit een angstaanjagende luchtspiegeling move_desc_102,De gebruiker kopieert de laatste techniek van het doelwit. De techniek kan tijdens gevechten worden gebruikt totdat de Pokémon is uitgeschakeld. move_desc_103,Een oorverdovend gekrijs vermindert hard het Verdediging-attribuut van het doelwit. move_desc_104,Door snel te bewegen, maakt de gebruiker schijnbare kopieën van zichzelf om zijn ontwijkingsvermogen te vergroten. -move_desc_105,Door zijn eigen cellen te herstellen, herstelt de gebruiker zijn eigen IP met de helft van zijn maximale IP. +move_desc_105,Door zijn eigen cellen te herstellen, herstelt de gebruiker zijn eigen LP met de helft van zijn maximale LP. move_desc_106,De gebruiker verstijft alle spieren in zijn lichaam om zijn Verdediging-attribuut te verhogen. move_desc_107,De gebruiker comprimeert zijn lichaam om zichzelf kleiner te laten lijken, waardoor zijn ontwijkingsvermogen sterk toeneemt. move_desc_108,De gebruiker laat een verduisterende wolk van rook of inkt vrij. Het vermindert de nauwkeurigheid van het doelwit. @@ -3626,13 +3626,13 @@ move_desc_131,Scherpe stekels worden snel achter elkaar op het doel geschoten. Z move_desc_132,Het doelwit wordt aangevallen met lange, kruipende tentakels of lianen. Het kan ook het Snelheid-attribuut van het doelwit verlagen. move_desc_133,De gebruiker maakt tijdelijk zijn geest leeg om zijn zorgen te vergeten. Het verhoogt het Sp. Verdediging-attribuut aanzienlijk. move_desc_134,De gebruiker leidt het doelwit af door een lepel te buigen. Het verlaagt de nauwkeurigheid van het doelwit. -move_desc_135,De gebruiker herstelt zijn eigen IP tot de helft van zijn maximale IP. Kan ook in het veld worden gebruikt om IP te genezen. +move_desc_135,De gebruiker herstelt zijn eigen LP tot de helft van zijn maximale LP. Kan ook in het veld worden gebruikt om LP te genezen. move_desc_136,Het doelwit wordt aangevallen met een knieschop vanuit een sprong. Als deze mist, raakt de gebruiker gewond. move_desc_137,De gebruiker intimideert het doelwit met het patroon op zijn buik om verlamming te veroorzaken. -move_desc_138,De gebruiker eet de dromen van een slapend doelwit. Het absorbeert de helft van de veroorzaakte schade om het IP van de gebruiker te genezen. +move_desc_138,De gebruiker eet de dromen van een slapend doelwit. Het absorbeert de helft van de veroorzaakte schade om het LP van de gebruiker te genezen. move_desc_139,Een wolk gifgas wordt in het gezicht van de Pokémon van de tegenstander gespoten. Het kan de getroffenen vergiftigen. move_desc_140,Ronde voorwerpen worden naar het doelwit geslingerd om twee tot vijf keer achter elkaar toe te slaan. -move_desc_141,De gebruiker zuigt het bloed van het doelwit af. Het IP van de gebruiker wordt hersteld met de helft van de schade die het doelwit oploopt. +move_desc_141,De gebruiker zuigt het bloed van het doelwit af. Het LP van de gebruiker wordt hersteld met de helft van de schade die het doelwit oploopt. move_desc_142,Met een eng gezicht probeert de gebruiker het doelwit te dwingen tot een kus. Als dat lukt, valt het doelwit in slaap. move_desc_143,Een aanvalstechniek die bij de tweede beurt toeslaat waarbij kritieke treffers gemakkelijker aankomen. Het kan het doelwit ook laten terugdeinzen. move_desc_144,De gebruiker verandert in een kopie van het doelwit en heeft zelfs dezelfde technieken. @@ -3647,15 +3647,15 @@ move_desc_152,Het doelwit wordt geslagen met een grote tang. Kritieke treffers k move_desc_153,De gebruiker explodeert om schade toe te brengen aan degenen om hem heen. De gebruiker wordt uitgeschakeld als hij deze techniek gebruikt. move_desc_154,Het doelwit wordt twee tot vijf keer snel achter elkaar aangevallen met scherpe klauwen of zeisen. move_desc_155,De gebruiker gooit het bot dat hij vasthoudt. Het bot maakt een lus om het doelwit twee keer te raken, tijdens het komen en gaan. -move_desc_156,De gebruiker gaat twee beurten slapen. Het herstelt de IP van de gebruiker volledig en geneest elk statuseffect. +move_desc_156,De gebruiker gaat twee beurten slapen. Het herstelt de LP van de gebruiker volledig en geneest elk statuseffect. move_desc_157,Grote rotsblokken worden naar de tegenstander geslingerd om schade toe te brengen. Ze kunnen de doelwitten ook laten terugdeinzen. move_desc_158,De gebruiker bijt hard op het doelwit met zijn scherpe hoektanden. Het kan het doelwit ook laten terugdeinzen. move_desc_159,De gebruiker vermindert het aantal polygonen om zichzelf scherper te maken, waardoor het Aanval-attribuut stijgt. move_desc_160,De gebruiker verandert zijn type om hetzelfde type te worden als de techniek die bovenaan de lijst staat van technieken die hij kent. move_desc_161,De gebruiker slaat toe met een gelijktijdige aanval met drie stralen. Kan het doelwit ook verbranden, bevriezen of verlammen. -move_desc_162,De gebruiker beukt hard op het doelwit met zijn scherpe voortanden. Het halveert de IP van het doelwit. +move_desc_162,De gebruiker beukt hard op het doelwit met zijn scherpe voortanden. Het halveert de LP van het doelwit. move_desc_163,Het doelwit wordt aangevallen met een slag van klauwen of messen. Kritieke treffers komen gemakkelijker aan. -move_desc_164,De gebruiker maakt een kopie van zichzelf met behulp van een deel van zijn IP. De kopie dient als afleiding voor de gebruiker. +move_desc_164,De gebruiker maakt een kopie van zichzelf met behulp van een deel van zijn LP. De kopie dient als afleiding voor de gebruiker. move_desc_165,Een wanhoopsaanval die alleen wordt gebruikt als de gebruiker geen KP heeft. Het doet de gebruiker ook een beetje pijn. move_desc_167,Een opeenvolgende aanval met drie schoppen die krachtiger wordt bij elke opeenvolgende treffer. @@ -3684,11 +3684,11 @@ move_desc_198,De gebruiker slaat het doelwit twee tot vijf keer achter elkaar me move_desc_200,De gebruiker gaat tekeer en valt aan gedurende twee tot drie beurten. Daarna raakt hij echter in de war. -move_desc_202,Een voedingsstoffen-onttrekkende aanval. De IP van de gebruiker wordt hersteld met de helft van de schade die het doelwit oploopt. +move_desc_202,Een voedingsstoffen-onttrekkende aanval. De LP van de gebruiker wordt hersteld met de helft van de schade die het doelwit oploopt. move_desc_204,De gebruiker kijkt het doelwit nogal charmant aan, waardoor het minder op zijn hoede is. Het Aanval-attribuut van het doelwit wordt sterk verlaagd. move_desc_205,De gebruiker rolt voortdurend tegen het doelwit aan gedurende vijf beurten. Het wordt sterker elke keer dat het raakt. -move_desc_206,Een terughoudende aanval die voorkomt dat het doelwit uitgeschakeld wordt. Het doelwit houdt minstens 1 IP over. +move_desc_206,Een terughoudende aanval die voorkomt dat het doelwit uitgeschakeld wordt. Het doelwit houdt minstens 1 LP over. move_desc_209,De gebruiker maakt een elektrisch geladen tackle tegen het doelwit. Het kan het doelwit ook verlammen. @@ -3704,9 +3704,9 @@ move_desc_230,Een zoete geur die het ontwijkingsvermogen van de tegenstander ver move_desc_231,Het doelwit wordt geslagen met een staalharde staart. Het kan ook het Verdediging-attribuut van het doelwit verlagen. move_desc_232,Het doelwit wordt geharkt met stalen klauwen. Het kan ook het Aanval-attribuut van de gebruiker verhogen. -move_desc_234,De gebruiker herstelt zijn eigen IP. De hoeveelheid herwonnen IP varieert met het weer. -move_desc_235,De gebruiker herstelt zijn eigen IP. De hoeveelheid herwonnen IP varieert met het weer. -move_desc_236,De gebruiker herstelt zijn eigen IP. De hoeveelheid herwonnen IP varieert met het weer. +move_desc_234,De gebruiker herstelt zijn eigen LP. De hoeveelheid herwonnen LP varieert met het weer. +move_desc_235,De gebruiker herstelt zijn eigen LP. De hoeveelheid herwonnen LP varieert met het weer. +move_desc_236,De gebruiker herstelt zijn eigen LP. De hoeveelheid herwonnen LP varieert met het weer. move_desc_238,De gebruiker geeft een dubbele slag met gekruiste onderarmen. Kritieke treffers komen gemakkelijker aan. move_desc_239,De gebruiker zweept een venijnige tornado op om het andere team aan te vallen. Het kan doelwitten ook laten terugdeinzen. @@ -3743,6 +3743,8 @@ move_desc_442,De gebruiker slaat het doelwit met zijn staalharde hoofd. Dit kan move_desc_452,De gebruiker beukt met zijn robuuste lichaam tegen het doelwit om aan te vallen. De gebruiker loopt ook ernstige schade op. +move_desc_577,De gebruiker steelt de energie van het doelwit met een kus. De LP van de gebruiker wordt hersteld met meer dan de helft van de schade die het doelwit heeft opgelopen. + move_desc_583,De gebruiker speelt ruw met het doelwit en valt het aan. Dit kan ook het Aanval-attribuut van het doelwit verlagen. move_desc_584,De gebruiker wekt een feeënwind op en slaat het doelwit ermee. move_desc_585,Door de kracht van de maan te gebruiken, valt de gebruiker het doelwit aan. Dit kan ook het Sp. Aanval-attribuut van het doelwit verlagen. diff --git a/P3D/Content/Textures/NPC/96.png b/P3D/Content/Textures/NPC/96.png new file mode 100644 index 000000000..82e7e1804 Binary files /dev/null and b/P3D/Content/Textures/NPC/96.png differ diff --git a/P3D/Content/Textures/NPC/lucy.png b/P3D/Content/Textures/NPC/lucy.png new file mode 100644 index 000000000..2e501afb4 Binary files /dev/null and b/P3D/Content/Textures/NPC/lucy.png differ diff --git a/P3D/Content/Textures/battlepike.png b/P3D/Content/Textures/battlepike.png index 7fe9c70ca..423ce68f7 100644 Binary files a/P3D/Content/Textures/battlepike.png and b/P3D/Content/Textures/battlepike.png differ diff --git a/P3D/Input/KeyBindings.vb b/P3D/Input/KeyBindings.vb index a8b3541eb..96d7f7d8c 100644 --- a/P3D/Input/KeyBindings.vb +++ b/P3D/Input/KeyBindings.vb @@ -49,31 +49,31 @@ Public Class KeyBindings key = key.Remove(key.Length - 1, 1) Select Case key.ToLower() - Case "forwardmove" + Case "moveforward", "forwardmove" ForwardMoveKey = binding - Case "leftmove" + Case "moveleft", "leftmove" LeftMoveKey = binding - Case "backwardmove" + Case "movebackward", "backwardmove" BackwardMoveKey = binding - Case "rightmove" + Case "moveright", "rightmove" RightMoveKey = binding Case "run" RunKey = binding - Case "inventory", "openmenu" + Case "openmenu", "inventory" OpenInventoryKey = binding Case "chat" ChatKey = binding - Case "special", "pokegear" + Case "special", "phone", "pokegear" SpecialKey = binding Case "muteaudio", "mutemusic" MuteAudioKey = binding - Case "cameraleft" + Case "cameraleft", "left" LeftKey = binding - Case "cameraright" + Case "cameraright", "right" RightKey = binding - Case "cameraup" + Case "cameraup", "up" UpKey = binding - Case "cameradown" + Case "cameradown", "down" DownKey = binding Case "cameralock" CameraLockKey = binding @@ -238,10 +238,10 @@ Public Class KeyBindings Public Shared Sub CreateKeySave(ByVal force As Boolean) If IO.Directory.Exists(GameController.GamePath & "\Save") = True Then If IO.File.Exists(GameController.GamePath & "\Save\Keyboard.dat") = False Or force = True Then - Dim s As String = "[ForwardMove]=W" & Environment.NewLine & - "[LeftMove]=" & GetKeyName(Keys.A) & Environment.NewLine & - "[BackwardMove]=" & GetKeyName(Keys.S) & Environment.NewLine & - "[RightMove]=" & GetKeyName(Keys.D) & Environment.NewLine & + Dim s As String = "[MoveForward]=" & GetKeyName(Keys.W) & Environment.NewLine & + "[MoveLeft]=" & GetKeyName(Keys.A) & Environment.NewLine & + "[MoveBackward]=" & GetKeyName(Keys.S) & Environment.NewLine & + "[MoveRight]=" & GetKeyName(Keys.D) & Environment.NewLine & "[Run]=" & GetKeyName(Keys.LeftShift) & Environment.NewLine & "[OpenMenu]=" & GetKeyName(Keys.E) & Environment.NewLine & "[Chat]=" & GetKeyName(Keys.T) & Environment.NewLine & @@ -276,10 +276,10 @@ Public Class KeyBindings ''' Public Shared Sub SaveKeys() If IO.Directory.Exists(GameController.GamePath & "\Save") = True Then - Dim s As String = "[ForwardMove]=" & GetKeyName(ForwardMoveKey) & Environment.NewLine & - "[LeftMove]=" & GetKeyName(LeftMoveKey) & Environment.NewLine & - "[BackwardMove]=" & GetKeyName(BackwardMoveKey) & Environment.NewLine & - "[RightMove]=" & GetKeyName(RightMoveKey) & Environment.NewLine & + Dim s As String = "[MoveForward]=" & GetKeyName(ForwardMoveKey) & Environment.NewLine & + "[MoveLeft]=" & GetKeyName(LeftMoveKey) & Environment.NewLine & + "[MoveBackward]=" & GetKeyName(BackwardMoveKey) & Environment.NewLine & + "[MoveRight]=" & GetKeyName(RightMoveKey) & Environment.NewLine & "[Run]=" & GetKeyName(RunKey) & Environment.NewLine & "[Inventory]=" & GetKeyName(OpenInventoryKey) & Environment.NewLine & "[Chat]=" & GetKeyName(ChatKey) & Environment.NewLine & diff --git a/P3D/P3D.vbproj b/P3D/P3D.vbproj index 81e53777a..55842cc3e 100644 --- a/P3D/P3D.vbproj +++ b/P3D/P3D.vbproj @@ -8042,7 +8042,7 @@ PreserveNewest - + PreserveNewest @@ -19484,6 +19484,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest @@ -19523,6 +19526,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest @@ -29290,7 +29296,7 @@ PreserveNewest - + PreserveNewest @@ -29347,6 +29353,18 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest @@ -29455,6 +29473,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest @@ -29899,6 +29920,72 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest @@ -30379,6 +30466,12 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + PreserveNewest diff --git a/P3D/Player/Player.vb b/P3D/Player/Player.vb index f5e050097..88ef1de51 100644 --- a/P3D/Player/Player.vb +++ b/P3D/Player/Player.vb @@ -1928,7 +1928,11 @@ End If End If If Core.Player.CountFightablePokemon = 0 Then - Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False)) + If Screen.Level.BlackOutScript <> "" Then + CType(CurrentScreen, OverworldScreen).ActionScript.StartScript(Screen.Level.BlackOutScript, 0, False) + Else + Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False)) + End If End If Next End If diff --git a/P3D/Pokemon/Attacks/Fighting/TripleKick.vb b/P3D/Pokemon/Attacks/Fighting/TripleKick.vb index 4216b863d..f1a8126ee 100644 --- a/P3D/Pokemon/Attacks/Fighting/TripleKick.vb +++ b/P3D/Pokemon/Attacks/Fighting/TripleKick.vb @@ -52,6 +52,18 @@ '#End End Sub + Public Overrides Function GetBasePower(ByVal own As Boolean, ByVal BattleScreen As BattleScreen) As Integer + Dim TripleKick As Integer = 10 + Select Case BattleScreen.FieldEffects.TempTripleKick + Case 1 + TripleKick = 20 + Case 2 + TripleKick = 30 + End Select + BattleScreen.FieldEffects.TempTripleKick += 1 + Return TripleKick + End Function + Public Overrides Function GetTimesToAttack(own As Boolean, BattleScreen As BattleScreen) As Integer Dim r As Integer = Core.Random.Next(0, 100) If r < 73 Then diff --git a/P3D/Screens/PC/StorageSystemScreen.vb b/P3D/Screens/PC/StorageSystemScreen.vb index e4bb09dc2..60b3e5440 100644 --- a/P3D/Screens/PC/StorageSystemScreen.vb +++ b/P3D/Screens/PC/StorageSystemScreen.vb @@ -795,20 +795,23 @@ Public Class StorageSystemScreen Dim id = CInt(CursorPosition.X) + CInt((CursorPosition.Y - 1) * 6) Dim box = GetBox(CurrentBox) Dim pokemon = If(CursorPosition.X = 6, Core.Player.Pokemons(CInt(CursorPosition.Y)), box.Pokemon(id).GetPokemon()) + Dim text = "" If pokemon.Item IsNot Nothing Then If pokemon.Item.IsMail And pokemon.Item.AdditionalData <> "" Then - Screen.TextBox.Show("The Mail was taken to your~inbox on your PC.") + text &= "The Mail was taken to your~inbox on your PC." Core.Player.Mails.Add(Items.MailItem.GetMailDataFromString(pokemon.Item.AdditionalData)) Else - Screen.TextBox.Show($"Taken {pokemon.Item.OneLineName()}~from {pokemon.GetDisplayName()}.") Dim ItemID = If(pokemon.Item.IsGameModeItem, pokemon.Item.gmID, pokemon.Item.ID.ToString()) Core.Player.Inventory.AddItem(ItemID, 1) + text &= $"Taken {pokemon.Item.OneLineName()}~from {pokemon.GetDisplayName()}." End If pokemon.Item = Nothing End If - Screen.TextBox.Show($"Goodbye, {pokemon.GetDisplayName()}!") + If s <> "" Then s &= "*" + text &= $"Goodbye, {pokemon.GetDisplayName()}!" + Screen.TextBox.Show(text) If CursorPosition.X = 6 Then Core.Player.Pokemons.RemoveAt(CInt(CursorPosition.Y)) diff --git a/P3D/World/ActionScript/V2/ScriptCommands/DoBattle.vb b/P3D/World/ActionScript/V2/ScriptCommands/DoBattle.vb index 07f8cd4cc..2f36bf722 100644 --- a/P3D/World/ActionScript/V2/ScriptCommands/DoBattle.vb +++ b/P3D/World/ActionScript/V2/ScriptCommands/DoBattle.vb @@ -52,7 +52,11 @@ CanContinue = False Else - Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False)) + If Screen.Level.BlackOutScript <> "" Then + CType(CurrentScreen, OverworldScreen).ActionScript.StartScript(Screen.Level.BlackOutScript, 0, False) + Else + Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False)) + End If End If Case "trainer" If Core.Player.Pokemons.Count > 0 Then @@ -92,7 +96,11 @@ CanContinue = False Else - Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False)) + If Screen.Level.BlackOutScript <> "" Then + CType(CurrentScreen, OverworldScreen).ActionScript.StartScript(Screen.Level.BlackOutScript, 0, False) + Else + Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False)) + End If End If Case "wild" ' ID, Level, [shiny], [musicloop], [introtype] @@ -203,7 +211,11 @@ CanContinue = False Else - Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False)) + If Screen.Level.BlackOutScript <> "" Then + CType(CurrentScreen, OverworldScreen).ActionScript.StartScript(Screen.Level.BlackOutScript, 0, False) + Else + Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False)) + End If End If Case "setvar" Dim varname As String = argument.GetSplit(0) diff --git a/P3D/World/ActionScript/V2/ScriptCommands/DoScreen.vb b/P3D/World/ActionScript/V2/ScriptCommands/DoScreen.vb index d0a5e2f3a..43b92d518 100644 --- a/P3D/World/ActionScript/V2/ScriptCommands/DoScreen.vb +++ b/P3D/World/ActionScript/V2/ScriptCommands/DoScreen.vb @@ -80,7 +80,11 @@ CanContinue = False Case "blackout" - Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False)) + If Screen.Level.BlackOutScript <> "" Then + CType(CurrentScreen, OverworldScreen).ActionScript.StartScript(Screen.Level.BlackOutScript, 0, False) + Else + Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False)) + End If IsReady = True diff --git a/P3D/World/ActionScript/V2/ScriptConstructs/DoPokemon.vb b/P3D/World/ActionScript/V2/ScriptConstructs/DoPokemon.vb index 09d0cbb58..07f2bda46 100644 --- a/P3D/World/ActionScript/V2/ScriptConstructs/DoPokemon.vb +++ b/P3D/World/ActionScript/V2/ScriptConstructs/DoPokemon.vb @@ -493,6 +493,9 @@ Dim checkType As String = args(1) Return ReturnBoolean(p.IsType(New Element(checkType).Type)) + Case "ability" + Dim p As Pokemon = Core.Player.Pokemons(int(argument)) + Return p.Ability.ID() Case "displayname" Dim index As Integer = int(argument.GetSplit(0)) Return Core.Player.Pokemons(index).GetDisplayName() diff --git a/P3D/World/ActionScript/V2/ScriptConstructs/DoSystem.vb b/P3D/World/ActionScript/V2/ScriptConstructs/DoSystem.vb index 558f6ae33..f2154a3f6 100644 --- a/P3D/World/ActionScript/V2/ScriptConstructs/DoSystem.vb +++ b/P3D/World/ActionScript/V2/ScriptConstructs/DoSystem.vb @@ -26,25 +26,27 @@ key = KeyBindings.BackwardMoveKey Case "moveright" key = KeyBindings.RightMoveKey + Case "run" + key = KeyBindings.RunKey Case "openmenu" key = KeyBindings.OpenInventoryKey Case "chat" key = KeyBindings.ChatKey - Case "special", "phone" + Case "special", "phone", "pokegear" key = KeyBindings.SpecialKey - Case "muteaudio" + Case "muteaudio", "mutemusic" key = KeyBindings.MuteAudioKey - Case "cameraleft" + Case "cameraleft", "left" key = KeyBindings.LeftKey - Case "cameraright" + Case "cameraright", "right" key = KeyBindings.RightKey - Case "cameraup" + Case "cameraup", "up" key = KeyBindings.UpKey - Case "cameradown" + Case "cameradown", "down" key = KeyBindings.DownKey Case "cameralock" key = KeyBindings.CameraLockKey - Case "guicontrol" + Case "guicontrol", "hidegui" key = KeyBindings.GUIControlKey Case "screenshot" key = KeyBindings.ScreenshotKey @@ -68,10 +70,6 @@ key = KeyBindings.OnlineStatusKey Case "lighting" key = KeyBindings.LightKey - Case "hidegui" - key = KeyBindings.GUIControlKey - Case "run" - key = KeyBindings.RunKey End Select If key <> Nothing Then buttonName = Localization.GetString("keyboard_key_" & KeyBindings.GetKeyName(key), KeyBindings.GetKeyName(key)) diff --git a/P3D/World/Level.vb b/P3D/World/Level.vb index 5e2297c1e..6668a5c6c 100644 --- a/P3D/World/Level.vb +++ b/P3D/World/Level.vb @@ -73,6 +73,8 @@ Public Class Level Private _offsetMapEntities As New List(Of Entity) Private _offsetMapFloors As New List(Of Entity) + Public _blackOutScript As String = "" + ' Radio: Private _isRadioOn As Boolean = False Private _selectedRadioStation As GameJolt.PokegearScreen.RadioStation = Nothing @@ -247,6 +249,18 @@ Public Class Level End Set End Property + ''' + ''' The script to execute after the player blacks/whites out + ''' + Public Property BlackOutScript() As String + Get + Return Me._blackOutScript + End Get + Set(value As String) + Me._blackOutScript = value + End Set + End Property + ''' ''' The name of the current map. ''' diff --git a/P3D/World/LevelLoader.vb b/P3D/World/LevelLoader.vb index 300709102..73132fdac 100644 --- a/P3D/World/LevelLoader.vb +++ b/P3D/World/LevelLoader.vb @@ -1037,6 +1037,11 @@ Else Screen.Level.DisableMenus = False End If + If TagExists(Tags, "BlackOutScript") = True Then + Screen.Level.BlackOutScript = CStr(GetTag(Tags, "BlackOutScript")) + Else + Screen.Level.BlackOutScript = "" + End If If _reload = False Then If TagExists(Tags, "EnvironmentType") = True Then Screen.Level.EnvironmentType = CInt(GetTag(Tags, "EnvironmentType")) diff --git a/P3D/World/PokemonEncounter.vb b/P3D/World/PokemonEncounter.vb index 3b12e9591..320062724 100644 --- a/P3D/World/PokemonEncounter.vb +++ b/P3D/World/PokemonEncounter.vb @@ -120,7 +120,11 @@ Public Class PokemonEncounter ' If the encounter check is true: If Me._levelReference.PokemonEncounterData.EncounteredPokemon = True And Core.CurrentScreen.Identification = Screen.Identifications.OverworldScreen Then If Core.Player.Pokemons.Count = 0 Then - Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False)) + If Screen.Level.BlackOutScript <> "" Then + CType(CurrentScreen, OverworldScreen).ActionScript.StartScript(Screen.Level.BlackOutScript, 0, False) + Else + Core.SetScreen(New TransitionScreen(Core.CurrentScreen, New BlackOutScreen(Core.CurrentScreen), Color.Black, False)) + End If Me._levelReference.PokemonEncounterData.EncounteredPokemon = False Exit Sub Else