/** * Performs final calculations after loading a save or a new class */ void GameStatePlay::applyPlayerData() { menu->inv->fillEquipmentSlots(); // remove items with zero quantity from inventory menu->inv->inventory[EQUIPMENT].clean(); menu->inv->inventory[CARRIED].clean(); // Load stash loadStash(); // initialize vars pc->stats.recalc(); pc->stats.loadHeroSFX(); menu->inv->applyEquipment(menu->inv->inventory[EQUIPMENT].storage); pc->stats.logic(); // run stat logic once to apply items bonuses // just for aesthetics, turn the hero to face the camera pc->stats.direction = 6; // set up MenuTalker for this hero menu->talker->setHero(pc->stats); // load sounds (gender specific) pc->loadSounds(); // apply power upgrades menu->pow->applyPowerUpgrades(); }
/** * Reset all game states to a new game. */ void GameStatePlay::resetGame() { mapr->load("maps/spawn.txt"); setLoadingFrame(); camp->clearAll(); pc->init(); pc->stats.currency = 0; menu->act->clear(); menu->inv->inventory[0].clear(); menu->inv->inventory[1].clear(); menu->inv->changed_equipment = true; menu->inv->currency = 0; menu->questlog->clear(); quests->createQuestList(); menu->hudlog->clear(); loadStash(); // Finalize new character settings menu->talker->setHero(pc->stats); pc->loadSounds(); }