Talk:Size and weight variation
Gen III-IV min/max size odds
Decided to run calcs on the chances of min/max sizes in gen II-IV and here are my results;
Total personality values checked: 1099511627776
Number of personality values with maximum size: 436207616
Number of personality values with minimum size: 167772160
Values processed per minute: 235767534.877467
Total time elapsed: 279812.47588157654 seconds
Calculated odds
Smallest Size: 1/6553.6
Largest Size: 1/2,520.6153846153846153846153846154
My code just in case anyone is curious how these were calculated, I iterated through all the s values of all 16bitPID/ID' combos and sorted the values accordingly
Code
import time
def calculate_size():
# Constants for the calculation
h = 10 # Species' height in tenths of a meter
# Initialize counters for maximum and minimum size counts
max_size_count = 0
min_size_count = 0
total_values_checked = 0
# Start time
start_time = time.time()
# Iterate through all possible combinations of the last 16 bits of the PID
for last_16_bits in range(65536):
# Iterate through all possible IV prime combinations
for HP_prime in range(16):
for Atk_prime in range(16):
for Def_prime in range(16):
for Spd_prime in range(16):
for SpAtk_prime in range(16):
for SpDef_prime in range(16):
# Calculate the intermediate value 's'
p1 = last_16_bits % 256
p2 = (last_16_bits // 256) % 256
s = 256 * (p1 ^ (HP_prime * (Atk_prime ^ Def_prime))) + (p2 ^ (Spd_prime * (SpAtk_prime ^ SpDef_prime)))
# Check if s is within the range [0, 9] for minimum size
if 0 <= s <= 9:
min_size_count += 1
# Check if s is within the range [65510, 65535] for maximum size
if 65510 <= s <= 65535:
max_size_count += 1
total_values_checked += 1
# Print progress update for every 1 billion values checked
if total_values_checked % 1000000000 == 0:
completion_percentage = (total_values_checked / (65536 * 16**6)) * 100
elapsed_time = time.time() - start_time
print(f"Progress: Checked {total_values_checked} values. Completion: {completion_percentage:.2f}%. Elapsed Time: {elapsed_time:.2f} seconds. Maximum values found: {max_size_count}. Minimum values found: {min_size_count}")
# End time
end_time = time.time()
# Calculate elapsed time in seconds
elapsed_time = end_time - start_time
print("Total personality values checked:", total_values_checked)
print("Number of personality values with maximum size:", max_size_count)
print("Number of personality values with minimum size:", min_size_count)
print("Values processed per minute:", total_values_checked / (elapsed_time / 60))
return max_size_count, min_size_count, total_values_checked, elapsed_time
# Call the function to calculate the count of maximum and minimum size personality values
max_count, min_count, total_checked, elapsed_time = calculate_size()
# Write output to file
with open("output.txt", "w") as file:
file.write(f"Total personality values checked: {total_checked}\n")
file.write(f"Number of personality values with maximum size: {max_count}\n")
file.write(f"Number of personality values with minimum size: {min_count}\n")
file.write(f"Values processed per minute: {total_checked / (elapsed_time / 60)}\n")
file.write(f"Total time elapsed: {elapsed_time} seconds\n")
# Prompt to keep the window open
input("Execution complete. Press Enter to exit.")
Joshiki (talk) 15:10, 19 July 2023 (UTC)
swsh and bdsp "generate individual height and weight scalar values the same way as before"
what does this mean? does it use the same system as LGPE? needs to be more specific. the PLA section only mentions that pokemon transferred to that game are assigned scale values, so do swsh and BDSP not assign scale values to pokemon transferred in? lilycove 22:29, 8 April 2025 (UTC)
- Height Value=rand(0,127)+rand(0,128) is how every Switch title and Pokémon home calculates their height value, unless stated otherwise. Even in SwSh and BDSP where they don't even use those numbers. Can you think of a clearer way to explain it? Brin (talk) 22:42, 8 April 2025 (UTC)
- say it uses the same system as LGPE, then, not just "the same way as before". also, do pokemon transferred from bank to home to swsh or bdsp get assigned a scale value? lilycove 22:52, 8 April 2025 (UTC)
- Yes, Pokémon transferred into HOME via bank also use this same formula, and that value is shared between all Switch titles. Although this was different before BDSP and LA support was added to Pokémon HOME. Prior to that all Pokémon transferred in via bank would default to 0 height and 0 weight. Brin (talk) 23:01, 8 April 2025 (UTC)
- say it uses the same system as LGPE, then, not just "the same way as before". also, do pokemon transferred from bank to home to swsh or bdsp get assigned a scale value? lilycove 22:52, 8 April 2025 (UTC)
Pumpkaboo/Gourgeist in Z-A
So based on my own personal experience with Side Mission 98, Pumpkaboo's (and by extension Gourgeist's) variety seems to be... completely unrelated to the Gen IX size rating. As I recall it, the jumbo variety Pumpkaboo I gave the requester was only of Medium size according to the summary screen. This appears to be why the requester specifically says she won't accept an Alpha, saying that it's "hard to tell the difference with Alphas", since all Alphas are inherently (larger than but classified as) XL size. What I don't know is if this means you can have a jumbo with an XS size rating or an XL-size "small" variety, something that I feel might require more research unless someone else knows. I don't even give a Schif (Talk • Contribs) 22:31, 28 December 2025 (UTC)
- Each variety can come in the full range of sizes, resulting in a smooth scale from XS Small Variety all the way up to XL Jumbo Variety, with the alpha varieties being even larger. [1] Landfish7 23:46, 28 December 2025 (UTC)