mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-03-21 17:55:13 -05:00
44 lines
1.2 KiB
C
44 lines
1.2 KiB
C
#include "trainer_card_badge_dirt.h"
|
|
|
|
#include <nitro.h>
|
|
#include <string.h>
|
|
|
|
#include "badges.h"
|
|
#include "save_player.h"
|
|
#include "savedata.h"
|
|
#include "trainer_card.h"
|
|
#include "trainer_card_save_data.h"
|
|
#include "trainer_info.h"
|
|
|
|
void TrainerCard_AccumulateBadgeDirt(SaveData *saveData, s32 daysPassed)
|
|
{
|
|
if (daysPassed <= 0) {
|
|
return;
|
|
}
|
|
|
|
TrainerCardSaveData *tcSaveData = SaveData_GetTrainerCardSaveData(saveData);
|
|
TrainerCardSaveDataBadge *badges = TrainerCardSaveData_GetTrainerCardSaveDataBadges(tcSaveData);
|
|
TrainerInfo *trainerInfo = SaveData_GetTrainerInfo(saveData);
|
|
|
|
for (u8 badgeID = 0; badgeID < MAX_BADGES; badgeID++) {
|
|
if (TrainerInfo_HasBadge(trainerInfo, badgeID) == 0) {
|
|
continue;
|
|
}
|
|
|
|
int polish = TrainerCardSaveDataBadge_GetPolish(badgeID, badges);
|
|
|
|
if (0 < polish && polish < MAX_BADGE_POLISH + 1) {
|
|
polish -= (10 * daysPassed);
|
|
} else {
|
|
GF_ASSERT(polish < MAX_BADGE_POLISH + 1);
|
|
polish = 0;
|
|
}
|
|
|
|
if (polish < 0) {
|
|
polish = 0;
|
|
}
|
|
|
|
TrainerCardSaveDataBadge_SetPolish(badgeID, polish, badges);
|
|
}
|
|
}
|