mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-11-03 23:56:43 +00:00 
			
		
		
		
	This commit is contained in:
		
							parent
							
								
									7cd1e87fe8
								
							
						
					
					
						commit
						04cca2a1ce
					
				
					 3 changed files with 16 additions and 12 deletions
				
			
		| 
						 | 
					@ -195,13 +195,13 @@ void ContainerBase::sellAlreadyBoughtItem(MyGUI::Widget* _sender, int count)
 | 
				
			||||||
    if (isInventory())
 | 
					    if (isInventory())
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        MWBase::Environment::get().getWindowManager()->getTradeWindow()->addItem(object, count);
 | 
					        MWBase::Environment::get().getWindowManager()->getTradeWindow()->addItem(object, count);
 | 
				
			||||||
        MWBase::Environment::get().getWindowManager()->getTradeWindow()->buyFromNpc(object, count);
 | 
					        MWBase::Environment::get().getWindowManager()->getTradeWindow()->sellToNpc(object, count, true);
 | 
				
			||||||
        MWBase::Environment::get().getWindowManager()->getTradeWindow()->drawItems();
 | 
					        MWBase::Environment::get().getWindowManager()->getTradeWindow()->drawItems();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        MWBase::Environment::get().getWindowManager()->getInventoryWindow()->addItem(object, count);
 | 
					        MWBase::Environment::get().getWindowManager()->getInventoryWindow()->addItem(object, count);
 | 
				
			||||||
        MWBase::Environment::get().getWindowManager()->getTradeWindow()->sellToNpc(object, count);
 | 
					        MWBase::Environment::get().getWindowManager()->getTradeWindow()->buyFromNpc(object, count, true);
 | 
				
			||||||
        MWBase::Environment::get().getWindowManager()->getInventoryWindow()->drawItems();
 | 
					        MWBase::Environment::get().getWindowManager()->getInventoryWindow()->drawItems();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -218,13 +218,13 @@ void ContainerBase::sellItem(MyGUI::Widget* _sender, int count)
 | 
				
			||||||
    if (isInventory())
 | 
					    if (isInventory())
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        MWBase::Environment::get().getWindowManager()->getTradeWindow()->addBarteredItem(object, count);
 | 
					        MWBase::Environment::get().getWindowManager()->getTradeWindow()->addBarteredItem(object, count);
 | 
				
			||||||
        MWBase::Environment::get().getWindowManager()->getTradeWindow()->buyFromNpc(object, count);
 | 
					        MWBase::Environment::get().getWindowManager()->getTradeWindow()->sellToNpc(object, count, false);
 | 
				
			||||||
        MWBase::Environment::get().getWindowManager()->getTradeWindow()->drawItems();
 | 
					        MWBase::Environment::get().getWindowManager()->getTradeWindow()->drawItems();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        MWBase::Environment::get().getWindowManager()->getInventoryWindow()->addBarteredItem(object, count);
 | 
					        MWBase::Environment::get().getWindowManager()->getInventoryWindow()->addBarteredItem(object, count);
 | 
				
			||||||
        MWBase::Environment::get().getWindowManager()->getTradeWindow()->sellToNpc(object, count);
 | 
					        MWBase::Environment::get().getWindowManager()->getTradeWindow()->buyFromNpc(object, count, false);
 | 
				
			||||||
        MWBase::Environment::get().getWindowManager()->getInventoryWindow()->drawItems();
 | 
					        MWBase::Environment::get().getWindowManager()->getInventoryWindow()->drawItems();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -401,19 +401,23 @@ namespace MWGui
 | 
				
			||||||
        return items;
 | 
					        return items;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    void TradeWindow::sellToNpc(MWWorld::Ptr item, int count)
 | 
					    void TradeWindow::sellToNpc(MWWorld::Ptr item, int count, bool boughtItem)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					        int diff = MWBase::Environment::get().getMechanicsManager()->getBarterOffer(mPtr, MWWorld::Class::get(item).getValue(item) * count, boughtItem);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        mCurrentBalance += diff;
 | 
				
			||||||
 | 
					        mCurrentMerchantOffer += diff;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        mCurrentBalance -= MWBase::Environment::get().getMechanicsManager()->getBarterOffer(mPtr, MWWorld::Class::get(item).getValue(item) * count,true);
 | 
					 | 
				
			||||||
        mCurrentMerchantOffer -= MWBase::Environment::get().getMechanicsManager()->getBarterOffer(mPtr, MWWorld::Class::get(item).getValue(item) * count,true);
 | 
					 | 
				
			||||||
        updateLabels();
 | 
					        updateLabels();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    void TradeWindow::buyFromNpc(MWWorld::Ptr item, int count)
 | 
					    void TradeWindow::buyFromNpc(MWWorld::Ptr item, int count, bool soldItem)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					        int diff = MWBase::Environment::get().getMechanicsManager()->getBarterOffer(mPtr, MWWorld::Class::get(item).getValue(item) * count, !soldItem);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        mCurrentBalance -= diff;
 | 
				
			||||||
 | 
					        mCurrentMerchantOffer -= diff;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        mCurrentBalance += MWBase::Environment::get().getMechanicsManager()->getBarterOffer(mPtr, MWWorld::Class::get(item).getValue(item) * count,false);
 | 
					 | 
				
			||||||
        mCurrentMerchantOffer += MWBase::Environment::get().getMechanicsManager()->getBarterOffer(mPtr, MWWorld::Class::get(item).getValue(item) * count,false);
 | 
					 | 
				
			||||||
        updateLabels();
 | 
					        updateLabels();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,8 +27,8 @@ namespace MWGui
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            void startTrade(MWWorld::Ptr actor);
 | 
					            void startTrade(MWWorld::Ptr actor);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            void sellToNpc(MWWorld::Ptr item, int count); ///< only used for adjusting the gold balance
 | 
					            void sellToNpc(MWWorld::Ptr item, int count, bool boughtItem); ///< only used for adjusting the gold balance
 | 
				
			||||||
            void buyFromNpc(MWWorld::Ptr item, int count); ///< only used for adjusting the gold balance
 | 
					            void buyFromNpc(MWWorld::Ptr item, int count, bool soldItem); ///< only used for adjusting the gold balance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            bool npcAcceptsItem(MWWorld::Ptr item);
 | 
					            bool npcAcceptsItem(MWWorld::Ptr item);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue