本文整理汇总了C#中PKHeX.PK6.RefreshChecksum方法的典型用法代码示例。如果您正苦于以下问题:C# PK6.RefreshChecksum方法的具体用法?C# PK6.RefreshChecksum怎么用?C# PK6.RefreshChecksum使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PKHeX.PK6
的用法示例。
在下文中一共展示了PK6.RefreshChecksum方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: convertToPKM
//.........这里部分代码省略.........
pk.Move3_PP = pk.getMovePP(Move3, 0);
pk.Move4_PP = pk.getMovePP(Move4, 0);
if (Date.HasValue)
{
pk.MetDate = Date.Value;
}
else
{
// No datetime set, typical for wc6full
// Set it to now, instead of zeroing it out.
pk.MetDate = DateTime.Now;
}
if (pk.CurrentHandler == 0) // OT
{
pk.OT_Memory = 3;
pk.OT_TextVar = 9;
pk.OT_Intensity = 1;
pk.OT_Feeling = Util.rand.Next(0, 9);
}
else
{
pk.HT_Memory = 3;
pk.HT_TextVar = 9;
pk.HT_Intensity = 1;
pk.HT_Feeling = Util.rand.Next(0, 9);
pk.HT_Friendship = pk.OT_Friendship;
}
pk.IsNicknamed = IsNicknamed;
pk.Nickname = IsNicknamed ? Nickname : PKX.getSpeciesName(Species, pk.Language);
// More 'complex' logic to determine final values
// Dumb way to generate random IVs.
int[] finalIVs = new int[6];
switch (IVs[0])
{
case 0xFE:
finalIVs[0] = 31;
do { // 31 HP IV, 2 other 31s
for (int i = 1; i < 6; i++)
finalIVs[i] = IVs[i] > 31 ? (int)(Util.rnd32() & 0x1F) : IVs[i];
} while (finalIVs.Count(r => r == 31) < 3); // 31 + 2*31
break;
case 0xFD:
do { // 2 other 31s
for (int i = 0; i < 6; i++)
finalIVs[i] = IVs[i] > 31 ? (int)(Util.rnd32() & 0x1F) : IVs[i];
} while (finalIVs.Count(r => r == 31) < 2); // 2*31
break;
default: // Random IVs
for (int i = 0; i < 6; i++)
finalIVs[i] = IVs[i] > 31 ? (int)(Util.rnd32() & 0x1F) : IVs[i];
break;
}
pk.IVs = finalIVs;
int av = 0;
switch (AbilityType)
{
case 00: // 0 - 0
case 01: // 1 - 1
case 02: // 2 - H
av = AbilityType;
break;
case 03: // 0/1
case 04: // 0/1/H
av = (int)(Util.rnd32()%(AbilityType - 1));
break;
}
pk.Ability = PersonalTable.AO.getAbilities(Species, pk.AltForm)[av];
pk.AbilityNumber = 1 << av;
switch (PIDType)
{
case 00: // Specified
pk.PID = PID;
break;
case 01: // Random
pk.PID = Util.rnd32();
break;
case 02: // Random Shiny
pk.PID = Util.rnd32();
pk.PID = (uint)(((TID ^ SID ^ (pk.PID & 0xFFFF)) << 16) + (pk.PID & 0xFFFF));
break;
case 03: // Random Nonshiny
do { pk.PID = Util.rnd32(); } while ((uint)(((TID ^ SID ^ (pk.PID & 0xFFFF)) << 16) + (pk.PID & 0xFFFF)) < 16);
break;
}
if (IsEgg)
{
pk.IsEgg = true;
pk.EggMetDate = Date;
}
pk.RefreshChecksum();
return pk;
}
示例2: setPK6
// Meta
public void setPK6(PK6 pk6)
{
// Apply to this Save File
int CT = pk6.CurrentHandler;
DateTime Date = DateTime.Now;
pk6.Trade(OT, TID, SID, Country, SubRegion, Gender, false, Date.Day, Date.Month, Date.Year);
if (CT != pk6.CurrentHandler) // Logic updated Friendship
{
// Copy over the Friendship Value only under certain circumstances
if (pk6.Moves.Contains(216)) // Return
pk6.CurrentFriendship = pk6.OppositeFriendship;
else if (pk6.Moves.Contains(218)) // Frustration
pk6.CurrentFriendship = pk6.OppositeFriendship;
else if (pk6.CurrentHandler == 1) // OT->HT, needs new Friendship/Affection
pk6.TradeFriendshipAffection(OT);
}
pk6.RefreshChecksum();
}
示例3: convertToPK6
//.........这里部分代码省略.........
DateTime dt = DateTime.Now;
pk.Met_Day = dt.Day;
pk.Met_Month = dt.Month;
pk.Met_Year = dt.Year - 2000;
}
else
{
pk.Met_Day = (int)Day;
pk.Met_Month = (int)Month;
pk.Met_Year = (int)(Year - 2000);
}
if (pk.CurrentHandler == 0) // OT
{
pk.OT_Memory = 3;
pk.OT_TextVar = 9;
pk.OT_Intensity = 1;
pk.OT_Feeling = Util.rand.Next(0, 9);
}
else
{
pk.HT_Memory = 3;
pk.HT_TextVar = 9;
pk.HT_Intensity = 1;
pk.HT_Feeling = Util.rand.Next(0, 9);
pk.HT_Friendship = pk.OT_Friendship;
}
pk.IsNicknamed = IsNicknamed;
pk.Nickname = IsNicknamed ? Nickname : PKX.getSpeciesName(Species, pk.Language);
// More 'complex' logic to determine final values
// Dumb way to generate random IVs.
int[] finalIVs = new int[6];
switch (IVs[0])
{
case 0xFE:
finalIVs[0] = 31;
do { // 31 HP IV, 2 other 31s
for (int i = 1; i < 6; i++)
finalIVs[i] = IVs[i] > 31 ? (int)(Util.rnd32() & 0x1F) : IVs[i];
} while (finalIVs.Count(r => r == 31) < 3); // 31 + 2*31
break;
case 0xFD:
do { // 2 other 31s
for (int i = 0; i < 6; i++)
finalIVs[i] = IVs[i] > 31 ? (int)(Util.rnd32() & 0x1F) : IVs[i];
} while (finalIVs.Count(r => r == 31) < 2); // 2*31
break;
default: // Random IVs
for (int i = 0; i < 6; i++)
finalIVs[i] = IVs[i] > 31 ? (int)(Util.rnd32() & 0x1F) : IVs[i];
break;
}
pk.IVs = finalIVs;
int av = 0;
switch (AbilityType)
{
case 00: // 0 - 0
case 01: // 1 - 1
case 02: // 2 - H
av = AbilityType;
break;
case 03: // 0/1
case 04: // 0/1/H
av = (int)(Util.rnd32()%(AbilityType - 1));
break;
}
pk.Ability = PKX.Personal[PKX.Personal[Species].FormeIndex(Species, pk.AltForm)].Abilities[av];
pk.AbilityNumber = 1 << av;
switch (PIDType)
{
case 00: // Specified
pk.PID = PID;
break;
case 01: // Random
pk.PID = Util.rnd32();
break;
case 02: // Random Shiny
pk.PID = Util.rnd32();
pk.PID = (uint)(((TID ^ SID ^ (pk.PID & 0xFFFF)) << 16) + (pk.PID & 0xFFFF));
break;
case 03: // Random Nonshiny
do { pk.PID = Util.rnd32(); } while ((uint)(((TID ^ SID ^ (pk.PID & 0xFFFF)) << 16) + (pk.PID & 0xFFFF)) < 16);
break;
}
if (IsEgg)
{
pk.IsEgg = true;
pk.Egg_Day = (int) Day;
pk.Egg_Month = (int) Month;
pk.Egg_Year = (int) Year;
}
pk.RefreshChecksum();
return pk;
}