All pastes #203276 Raw Edit

Someone

public text v1 · immutable
#203276 ·published 2006-10-15 01:11 UTC
rendered paste body
    private void updatePlayerPositions() {
    	if(opponent != null) {
    		if(opponent.getCurrentPos().equals(getCurrentPos())) {
    			inCombat = true;
    			opponent.inCombat = true;
    			combatView = 9;
    			opponent.combatView = 8;
    		}
    	}
        outStream.createPacket(255);
        outStream.initBitAccess();
        outStream.writeBits(10, getCurrentPos().getX());
        outStream.writeBits(12, getCurrentPos().getY());
        outStream.writeBits(4, inCombat ? combatView : walkingQueue.getNextDirection());
        
        outStream.writeBits(8, playersInArea.size() - 1); // Players in area minus this player
        for(Connection c : playersInArea) {
            if(c == this)
                continue;
            
            if(c.walkingQueue.hasNextStep()) {
                outStream.writeBits(1, 1);
                outStream.writeBits(1, 0);
                outStream.writeBits(3, c.inCombat ? c.combatView : c.walkingQueue.getNextDirection());
            } else {
                outStream.writeBits(1, 0);
            }
        }
        
        for(Connection c : newPlayersInArea) {
            if(c.appearanceUpdateRequired || firstUpdateRequired) {
                outStream.writeBits(11, c.playerId);
                
                int xOffset = c.getCurrentPos().getX() - getCurrentPos().getX();
                int yOffset = c.getCurrentPos().getY() - getCurrentPos().getY();
                outStream.writeBits(5, xOffset < 0 ? xOffset + 32 : xOffset);
                outStream.writeBits(5, yOffset < 0 ? yOffset + 32 : yOffset);
                outStream.writeBits(4, c.inCombat ? c.combatView : c.walkingQueue.getNextDirection());
                outStream.writeBits(1, 0);
            }
        }
        outStream.finishBitAccess();
        outStream.sendPacket();
    }