@@ -1920,6 +1920,7 @@ void pokemon_trade_block_set_default_name(char* dest, PokemonFap* pokemon_fap, s
1920
1920
toupper (pokemon_fap -> pokemon_table [pokemon_fap -> curr_pokemon ].name [i ]));
1921
1921
buf [i ] = toupper (pokemon_fap -> pokemon_table [pokemon_fap -> curr_pokemon ].name [i ]);
1922
1922
}
1923
+ FURI_LOG_D (TAG , "[app] Set default nickname" );
1923
1924
1924
1925
if (dest != NULL ) {
1925
1926
strncpy (dest , buf , n );
@@ -1972,6 +1973,8 @@ void pokemon_trade_block_recalculate_stats_from_level(PokemonFap* pokemon_fap) {
1972
1973
1973
1974
pkmn -> level_again = level ;
1974
1975
UINT32_TO_EXP (experience , pkmn -> exp );
1976
+ FURI_LOG_D (TAG , "[app] Set pkmn level %d" , level );
1977
+ FURI_LOG_D (TAG , "[app] Set pkmn exp %d" , (int )experience );
1975
1978
1976
1979
/* Generate STATEXP */
1977
1980
switch (curr_stats ) {
@@ -1988,6 +1991,7 @@ void pokemon_trade_block_recalculate_stats_from_level(PokemonFap* pokemon_fap) {
1988
1991
break ;
1989
1992
}
1990
1993
1994
+ FURI_LOG_D (TAG , "[app] EVs set to %d" , stat );
1991
1995
stat = __builtin_bswap16 (stat );
1992
1996
1993
1997
pkmn -> hp_ev = stat ;
@@ -2006,33 +2010,50 @@ void pokemon_trade_block_recalculate_stats_from_level(PokemonFap* pokemon_fap) {
2006
2010
((special_iv & 0x0f ));
2007
2011
hp_iv = (pkmn -> iv & 0xAA ) >> 4 ;
2008
2012
}
2013
+ FURI_LOG_D (
2014
+ TAG ,
2015
+ "[app] atk_iv %d, def_iv %d, spd_iv %d, spc_iv %d, hp_iv %d" ,
2016
+ atk_iv ,
2017
+ def_iv ,
2018
+ spd_iv ,
2019
+ special_iv ,
2020
+ hp_iv );
2009
2021
2010
2022
/* Calculate HP */
2011
2023
// https://bulbapedia.bulbagarden.net/wiki/Stat#Generations_I_and_II
2012
2024
stat = floor ((((2 * (table -> base_hp + hp_iv )) + floor (sqrt (pkmn -> hp_ev ) / 4 )) * level ) / 100 ) +
2013
2025
(level + 10 );
2026
+ FURI_LOG_D (TAG , "[app] HP set to %d" , stat );
2014
2027
pkmn -> hp = __builtin_bswap16 (stat );
2015
2028
pkmn -> max_hp = pkmn -> hp ;
2016
2029
2017
2030
/* Calculate ATK, DEF, SPD, SP */
2031
+ /* TODO: these all use the same calculations, could put the stats in a sub-array and iterate
2032
+ * through each element in order rather than having to repeat the code. IVs would also need
2033
+ * to be in a similar array.
2034
+ **/
2018
2035
// https://bulbapedia.bulbagarden.net/wiki/Stat#Generations_I_and_II
2019
2036
stat =
2020
2037
floor ((((2 * (table -> base_atk + atk_iv )) + floor (sqrt (pkmn -> atk_ev ) / 4 )) * level ) / 100 ) +
2021
2038
5 ;
2039
+ FURI_LOG_D (TAG , "[app] ATK set to %d" , stat );
2022
2040
pkmn -> atk = __builtin_bswap16 (stat );
2023
2041
stat =
2024
2042
floor ((((2 * (table -> base_def + def_iv )) + floor (sqrt (pkmn -> def_ev ) / 4 )) * level ) / 100 ) +
2025
2043
5 ;
2044
+ FURI_LOG_D (TAG , "[app] DEF set to %d" , stat );
2026
2045
pkmn -> def = __builtin_bswap16 (stat );
2027
2046
stat =
2028
2047
floor ((((2 * (table -> base_spd + spd_iv )) + floor (sqrt (pkmn -> spd_ev ) / 4 )) * level ) / 100 ) +
2029
2048
5 ;
2049
+ FURI_LOG_D (TAG , "[app] SPD set to %d" , stat );
2030
2050
pkmn -> spd = __builtin_bswap16 (stat );
2031
2051
stat = floor (
2032
2052
(((2 * (table -> base_special + special_iv )) + floor (sqrt (pkmn -> special_ev ) / 4 )) *
2033
2053
level ) /
2034
2054
100 ) +
2035
2055
5 ;
2056
+ FURI_LOG_D (TAG , "[app] SPC set to %d" , stat );
2036
2057
pkmn -> special = __builtin_bswap16 (stat );
2037
2058
}
2038
2059
@@ -2045,15 +2066,24 @@ void pokemon_trade_block_recalculate(PokemonFap* pokemon_fap) {
2045
2066
/* Set current pokemon to the trade structure */
2046
2067
pkmn -> index = table -> index ;
2047
2068
pokemon_fap -> trade_block -> party_members [0 ] = table -> index ;
2069
+ FURI_LOG_D (TAG , "[app] Set %s in trade block" , table -> name );
2048
2070
2049
2071
/* Set current pokemon's moves to the trade structure */
2050
2072
for (i = 0 ; i < 4 ; i ++ ) {
2051
2073
pkmn -> move [i ] = table -> move [i ];
2074
+ FURI_LOG_D (
2075
+ TAG ,
2076
+ "[app] Set %s in trade block" ,
2077
+ pokemon_named_list_get_name_from_index (pokemon_fap -> move_list , pkmn -> move [i ]));
2052
2078
}
2053
2079
2054
2080
/* Set current pokemon's types to the trade structure */
2055
2081
for (i = 0 ; i < 2 ; i ++ ) {
2056
2082
pkmn -> type [i ] = table -> type [i ];
2083
+ FURI_LOG_D (
2084
+ TAG ,
2085
+ "[app] Set %s in trade block" ,
2086
+ pokemon_named_list_get_name_from_index (pokemon_fap -> type_list , pkmn -> type [i ]));
2057
2087
}
2058
2088
2059
2089
pokemon_trade_block_recalculate_stats_from_level (pokemon_fap );
0 commit comments