function orderOnFightAuction(
        uint256 _yangId,
        uint256 _yinId,
        uint256 orderAmount
    )
        public
        whenNotPaused
    {
        require(_owns(msg.sender, _yinId));
        require(isReadyToFight(_yinId));
        require(_yinId !=_yangId);
        require(ownerIndexToERC20Balance[msg.sender] >= orderAmount);
        
        address saller= fightAuction.getSeller(_yangId);
        uint256 price = fightAuction.getCurrentPrice(_yangId,1);
      
        require( price <= orderAmount && saller != address(0));
        
        if(fightAuction.order(_yangId, orderAmount, msg.sender)){
	         _fight(uint32(_yinId), uint32(_yangId));
	        ownerIndexToERC20Balance[msg.sender] -= orderAmount;
	    		ownerIndexToERC20Used[msg.sender] += orderAmount;  
	    		
    		  if( saller == address(this)){
    		     totalUsed +=orderAmount;
    		  }else{
    		     uint256 cut = _computeCut(price);
    		     totalUsed += (orderAmount - price+cut);
    		     ownerIndexToERC20Balance[saller] += price-cut;
    		  }	  
	        
        }
    }