Show
Ignore:
Timestamp:
11/19/08 13:46:22 (17 years ago)
Author:
yumileroy
Message:

[svn] * Improve some arena team related DB access
* Cache GM tickets on server startup.
* Remove unused src/game/HateMatrix.h and references.
* Better check client inventory pos data received in some client packets to
skip invalid cases

Original author: KingPin?
Date: 2008-11-10 09:04:23-06:00

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/game/ItemHandler.cpp

    r102 r207  
    5050        return;                                             //check count - if zero it's fake packet 
    5151 
     52    if(!_player->IsValidPos(srcbag,srcslot)) 
     53    { 
     54        _player->SendEquipError( EQUIP_ERR_ITEM_NOT_FOUND, NULL, NULL ); 
     55        return; 
     56    } 
     57 
     58    if(!_player->IsValidPos(dstbag,dstslot)) 
     59    { 
     60        _player->SendEquipError( EQUIP_ERR_ITEM_DOESNT_GO_TO_SLOT, NULL, NULL ); 
     61        return; 
     62    } 
     63 
    5264    _player->SplitItem( src, dst, count ); 
    5365} 
     
    6678    if(srcslot==dstslot) 
    6779        return; 
     80 
     81    if(!_player->IsValidPos(INVENTORY_SLOT_BAG_0,srcslot)) 
     82    { 
     83        _player->SendEquipError( EQUIP_ERR_ITEM_NOT_FOUND, NULL, NULL ); 
     84        return; 
     85    } 
     86 
     87    if(!_player->IsValidPos(INVENTORY_SLOT_BAG_0,dstslot)) 
     88    { 
     89        _player->SendEquipError( EQUIP_ERR_ITEM_DOESNT_GO_TO_SLOT, NULL, NULL ); 
     90        return; 
     91    } 
    6892 
    6993    uint16 src = ( (INVENTORY_SLOT_BAG_0 << 8) | srcslot ); 
     
    109133    if(src==dst) 
    110134        return; 
     135 
     136    if(!_player->IsValidPos(srcbag,srcslot)) 
     137    { 
     138        _player->SendEquipError( EQUIP_ERR_ITEM_NOT_FOUND, NULL, NULL ); 
     139        return; 
     140    } 
     141 
     142    if(!_player->IsValidPos(dstbag,dstslot)) 
     143    { 
     144        _player->SendEquipError( EQUIP_ERR_ITEM_DOESNT_GO_TO_SLOT, NULL, NULL ); 
     145        return; 
     146    } 
    111147 
    112148    _player->SwapItem( src, dst ); 
     
    747783        return; 
    748784 
     785    if(!_player->IsValidPos(dstbag,NULL_SLOT)) 
     786    { 
     787        _player->SendEquipError( EQUIP_ERR_ITEM_DOESNT_GO_TO_SLOT, NULL, NULL ); 
     788        return; 
     789    } 
     790 
    749791    uint16 src = pItem->GetPos(); 
    750792