Fix about perfection
diff --git a/src/RocketBotGUI/Extensions.cs b/src/RocketBotGUI/Extensions.cs
deleted file mode 100644
index 64a6a1b..0000000
--- a/src/RocketBotGUI/Extensions.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using POGOProtos.Data;
-
-namespace PokemonGo.RocketAPI.Window
-{
- public static class Extensions
- {
- public static float GetIV(this PokemonData poke)
- {
- return (poke.IndividualAttack + poke.IndividualDefense + poke.IndividualStamina)/45.0f;
- }
- }
-}
\ No newline at end of file
diff --git a/src/RocketBotGUI/MainForm.Designer.cs b/src/RocketBotGUI/MainForm.Designer.cs
index fcac9ce..be9f9eb 100644
--- a/src/RocketBotGUI/MainForm.Designer.cs
+++ b/src/RocketBotGUI/MainForm.Designer.cs
@@ -50,6 +50,7 @@
this.pkmnCandy = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.pkmnCandyToEvolve = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.pkmnEvolveTimes = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
+ this.pkmnNickname = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.pkmnTransferButton = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.pkmnPowerUpButton = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.pkmnEvolveButton = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
@@ -62,7 +63,7 @@
this.lblInventory = new System.Windows.Forms.Label();
this.flpItems = new System.Windows.Forms.FlowLayoutPanel();
this.lblPokemonList = new System.Windows.Forms.Label();
- this.pkmnNickname = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
+ this.pkmnLevel = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.statusStrip1.SuspendLayout();
this.menuStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.olvPokemonList)).BeginInit();
@@ -193,6 +194,7 @@
this.olvPokemonList.AllColumns.Add(this.pkmnCandyToEvolve);
this.olvPokemonList.AllColumns.Add(this.pkmnEvolveTimes);
this.olvPokemonList.AllColumns.Add(this.pkmnNickname);
+ this.olvPokemonList.AllColumns.Add(this.pkmnLevel);
this.olvPokemonList.AllColumns.Add(this.pkmnTransferButton);
this.olvPokemonList.AllColumns.Add(this.pkmnPowerUpButton);
this.olvPokemonList.AllColumns.Add(this.pkmnEvolveButton);
@@ -211,6 +213,7 @@
this.pkmnCandyToEvolve,
this.pkmnEvolveTimes,
this.pkmnNickname,
+ this.pkmnLevel,
this.pkmnTransferButton,
this.pkmnPowerUpButton,
this.pkmnEvolveButton});
@@ -286,6 +289,12 @@
this.pkmnEvolveTimes.Text = "# Evolves";
this.pkmnEvolveTimes.Width = 66;
//
+ // pkmnNickname
+ //
+ this.pkmnNickname.AspectName = "Nickname";
+ this.pkmnNickname.Text = "Nickname";
+ this.pkmnNickname.Width = 80;
+ //
// pkmnTransferButton
//
this.pkmnTransferButton.AspectName = "Id";
@@ -418,11 +427,11 @@
this.lblPokemonList.Text = "0 / 0";
this.lblPokemonList.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
- // pkmnNickname
+ // pkmnLevel
//
- this.pkmnNickname.AspectName = "Nickname";
- this.pkmnNickname.Text = "Nickname";
- this.pkmnNickname.Width = 80;
+ this.pkmnLevel.AspectName = "GetLv";
+ this.pkmnLevel.Text = "Lv";
+ this.pkmnLevel.Width = 50;
//
// MainForm
//
@@ -492,5 +501,6 @@
private System.Windows.Forms.FlowLayoutPanel flpItems;
private System.Windows.Forms.Label lblInventory;
private BrightIdeasSoftware.OLVColumn pkmnNickname;
+ private BrightIdeasSoftware.OLVColumn pkmnLevel;
}
}
diff --git a/src/RocketBotGUI/MainForm.cs b/src/RocketBotGUI/MainForm.cs
index 3abb964..f87c85a 100644
--- a/src/RocketBotGUI/MainForm.cs
+++ b/src/RocketBotGUI/MainForm.cs
@@ -1536,7 +1536,7 @@ namespace PokemonGo.RocketAPI.Window
var pokemons =
inventory.InventoryDelta.InventoryItems.Select(i => i?.InventoryItemData?.PokemonData)
.Where(p => p != null && p?.PokemonId > 0)
- .OrderByDescending(key => key.GetIV())
+ .OrderByDescending(PokemonInfo.CalculatePokemonPerfection)
.OrderByDescending(key => key.Cp)
.OrderBy(key => key.PokemonId);
families = inventory.InventoryDelta.InventoryItems
@@ -1779,7 +1779,7 @@ namespace PokemonGo.RocketAPI.Window
.Where(p => p.PokemonId == pokemon.PokemonId)
.Select(p => p.PokemonData)
.OrderBy(p => p.Cp)
- .OrderBy(p => p.GetIV())
+ .OrderBy(PokemonInfo.CalculatePokemonPerfection)
.Take(pokemonCount - ET);
TransferPokemon(pokemons);
@@ -1790,7 +1790,7 @@ namespace PokemonGo.RocketAPI.Window
olvPokemonList.Objects.Cast<PokemonObject>()
.Where(p => p.PokemonId == pokemon.PokemonId)
.Select(p => p.PokemonData)
- .OrderBy(p => p.GetIV())
+ .OrderBy(PokemonInfo.CalculatePokemonPerfection)
.OrderBy(p => p.Cp)
.Take(pokemonCount - ET);
@@ -1815,7 +1815,7 @@ namespace PokemonGo.RocketAPI.Window
.Where(p => p.PokemonId == pokemon.PokemonId)
.Select(p => p.PokemonData)
.OrderByDescending(p => p.Cp)
- .OrderByDescending(p => p.GetIV())
+ .OrderByDescending(PokemonInfo.CalculatePokemonPerfection)
.Take(ET);
EvolvePokemon(pokemons);
@@ -1826,7 +1826,7 @@ namespace PokemonGo.RocketAPI.Window
olvPokemonList.Objects.Cast<PokemonObject>()
.Where(p => p.PokemonId == pokemon.PokemonId)
.Select(p => p.PokemonData)
- .OrderByDescending(p => p.GetIV())
+ .OrderByDescending(PokemonInfo.CalculatePokemonPerfection)
.OrderByDescending(p => p.Cp)
.Take(ET);
diff --git a/src/RocketBotGUI/PokemonGo.RocketBot.csproj b/src/RocketBotGUI/PokemonGo.RocketBot.csproj
index 70dd1ca..fb687a8 100644
--- a/src/RocketBotGUI/PokemonGo.RocketBot.csproj
+++ b/src/RocketBotGUI/PokemonGo.RocketBot.csproj
@@ -79,7 +79,6 @@
</ItemGroup>
<ItemGroup>
<Compile Include="ApiFailureStrategy.cs" />
- <Compile Include="Extensions.cs" />
<Compile Include="ItemBox.cs">
<SubType>UserControl</SubType>
</Compile>
diff --git a/src/RocketBotGUI/PokemonObject.cs b/src/RocketBotGUI/PokemonObject.cs
index 3aba76d..b5c95e1 100644
--- a/src/RocketBotGUI/PokemonObject.cs
+++ b/src/RocketBotGUI/PokemonObject.cs
@@ -3,6 +3,7 @@ using PokemonGo.RocketAPI.Helpers;
using POGOProtos.Data;
using POGOProtos.Enums;
using POGOProtos.Networking.Responses;
+using System;
namespace PokemonGo.RocketAPI.Window
{
@@ -50,7 +51,12 @@ namespace PokemonGo.RocketAPI.Window
public double GetIV
{
- get { return PokemonInfo.CalculatePokemonPerfection(PokemonData); }
+ get { return Math.Round(PokemonInfo.CalculatePokemonPerfection(PokemonData),2); }
+ }
+
+ public double GetLv
+ {
+ get { return PokemonInfo.GetLevel(PokemonData); }
}
public string Nickname
You may download the files in Public Git.