Beispiel #1
0
void MerchantRepair::onRepairButtonClick(MyGUI::Widget *sender)
{
    MWWorld::Ptr player = MWBase::Environment::get().getWorld()->getPlayerPtr();

    int price = MyGUI::utility::parseInt(sender->getUserString("Price"));
    if (price > player.getClass().getContainerStore(player).count(MWWorld::ContainerStore::sGoldId))
        return;

    // repair
    MWWorld::Ptr item = *sender->getUserData<MWWorld::Ptr>();
    item.getCellRef().setCharge(item.getClass().getItemMaxHealth(item));

    player.getClass().getContainerStore(player).restack(item);

    MWBase::Environment::get().getSoundManager()->playSound("Repair",1,1);


    player.getClass().getContainerStore(player).remove(MWWorld::ContainerStore::sGoldId, price, player);

    // add gold to NPC trading gold pool
    MWMechanics::CreatureStats& actorStats = mActor.getClass().getCreatureStats(mActor);
    actorStats.setGoldPool(actorStats.getGoldPool() + price);

    startRepair(mActor);
}
Beispiel #2
0
void MerchantRepair::onRepairButtonClick(MyGUI::Widget *sender)
{
    // repair
    MWWorld::Ptr item = *sender->getUserData<MWWorld::Ptr>();
    item.getCellRef().mCharge = MWWorld::Class::get(item).getItemMaxHealth(item);

    MWBase::Environment::get().getSoundManager()->playSound("Repair",1,1);

    int price = boost::lexical_cast<int>(sender->getUserString("Price"));
    MWBase::Environment::get().getWindowManager()->getTradeWindow()->addOrRemoveGold(-price);

    startRepair(mActor);
}
Beispiel #3
0
void MerchantRepair::onRepairButtonClick(MyGUI::Widget *sender)
{
    // repair
    MWWorld::Ptr item = *sender->getUserData<MWWorld::Ptr>();
    item.getCellRef().mCharge = MWWorld::Class::get(item).getItemMaxHealth(item);

    MWBase::Environment::get().getSoundManager()->playSound("Repair",1,1);

    int price = boost::lexical_cast<int>(sender->getUserString("Price"));

    MWWorld::Ptr player = MWBase::Environment::get().getWorld()->getPlayerPtr();
    player.getClass().getContainerStore(player).remove(MWWorld::ContainerStore::sGoldId, price, player);

    startRepair(mActor);
}