PlayerStatus player_status;
PlayerStatus::PlayerStatus()
- : distros(0),
+ : coins(0),
lives(START_LIVES),
bonus(NO_BONUS),
score_multiplier(1),
void PlayerStatus::reset()
{
- distros = 0;
+ coins = 0;
lives = START_LIVES;
bonus = NO_BONUS;
score_multiplier = 1;
{
if(lives < MAX_LIVES)
++lives;
- SoundManager::get()->play_sound(IDToSound(SND_LIFEUP));
+ sound_manager->play_sound("lifeup");
}
void
PlayerStatus::incCoins()
{
- distros++;
- if(distros >= 100) {
+ coins++;
+ if(coins >= 100) {
incLives();
- distros = 0;
+ coins = 0;
}
- SoundManager::get()->play_sound(IDToSound(SND_DISTRO));
+ sound_manager->play_sound("coin");
}
void
PlayerStatus::write(lisp::Writer& writer)
{
switch(bonus) {
- case PlayerStatus::NO_BONUS:
+ case NO_BONUS:
writer.write_string("bonus", "none");
break;
- case PlayerStatus::GROWUP_BONUS:
+ case GROWUP_BONUS:
writer.write_string("bonus", "growup");
break;
- case PlayerStatus::FLOWER_BONUS:
+ case FIRE_BONUS:
writer.write_string("bonus", "fireflower");
break;
+ case ICE_BONUS:
+ writer.write_string("bonus", "iceflower");
+ break;
default:
std::cerr << "Unknown bonus type.\n";
writer.write_string("bonus", "none");
}
writer.write_int("lives", lives);
- writer.write_int("distros", distros);
+ writer.write_int("coins", coins);
writer.write_int("max-score-multiplier", max_score_multiplier);
}
} else if(bonusname == "growup") {
bonus = GROWUP_BONUS;
} else if(bonusname == "fireflower") {
- bonus = FLOWER_BONUS;
+ bonus = FIRE_BONUS;
+ } else if(bonusname == "iceflower") {
+ bonus = ICE_BONUS;
} else {
std::cerr << "Unknown bonus '" << bonusname << "' in savefile.\n";
bonus = NO_BONUS;
}
lisp.get("lives", lives);
- lisp.get("distros", distros);
+ lisp.get("coins", coins);
lisp.get("max-score-multiplier", max_score_multiplier);
}