Guest User

Untitled

a guest
Feb 21st, 2018
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1. bool House::transferToDepot()
  2. {
  3. if(!townId)
  4. return false;
  5.  
  6. Player* player = NULL;
  7. if(owner)
  8. {
  9. uint32_t tmp = owner;
  10. if(isGuild() && !IOGuild::getInstance()->swapGuildIdToOwner(tmp))
  11. tmp = 0;
  12.  
  13. if(tmp)
  14. player = g_game.getPlayerByGuidEx(tmp);
  15. }
  16.  
  17. Item* item = NULL;
  18. Container* tmpContainer = NULL;
  19.  
  20. ItemList moveList;
  21. for(HouseTileList::iterator it = houseTiles.begin(); it != houseTiles.end(); ++it)
  22. {
  23. for(uint32_t i = 0; i < (*it)->getThingCount(); ++i)
  24. {
  25. if(!(item = (*it)->__getThing(i)->getItem()))
  26. continue;
  27.  
  28. if(item->isPickupable())
  29. moveList.push_back(item);
  30. else if((tmpContainer = item->getContainer()))
  31. {
  32. for(ItemList::const_iterator it = tmpContainer->getItems(); it != tmpContainer->getEnd(); ++it)
  33. moveList.push_back(*it);
  34. }
  35. }
  36. }
  37.  
  38. if(player)
  39. {
  40. for(ItemList::iterator it = moveList.begin(); it != moveList.end(); ++it)
  41. g_game.internalRemoveItem(NULL, (*it), (*it)->getItemCount(), false, FLAG_NOLIMIT);
  42.  
  43. if(player->isVirtual())
  44. {
  45. IOLoginData::getInstance()->savePlayer(player);
  46. delete player;
  47. }
  48. }
  49. else
  50. {
  51. for(ItemList::iterator it = moveList.begin(); it != moveList.end(); ++it)
  52. g_game.internalRemoveItem(NULL, (*it), (*it)->getItemCount(), false, FLAG_NOLIMIT);
  53. }
  54.  
  55. return true;
  56. }
Add Comment
Please, Sign In to add comment