Merge remote-tracking branch 'origin/development2' into development2
This commit is contained in:
		@@ -118,14 +118,19 @@ public void setIsDied(boolean isDied) {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * sets the movabelPieces
 | 
					     * sets the moveablePieces
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     * @param moveablePieces
 | 
					     * @param moveablePieces List that should be set
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public void setMoveablePieces(List<Piece> moveablePieces) {
 | 
					    public void setMoveablePieces(List<Piece> moveablePieces) {
 | 
				
			||||||
        this.moveablePieces = moveablePieces;
 | 
					        this.moveablePieces = moveablePieces;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * adds a piece to the movablePieces
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @param piece to be added
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
    public void addMovablePieces(Piece piece){
 | 
					    public void addMovablePieces(Piece piece){
 | 
				
			||||||
        moveablePieces.add(piece);
 | 
					        moveablePieces.add(piece);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,9 @@
 | 
				
			|||||||
import org.junit.Test;
 | 
					import org.junit.Test;
 | 
				
			||||||
import pp.mdga.game.*;
 | 
					import pp.mdga.game.*;
 | 
				
			||||||
import pp.mdga.game.card.PowerCard;
 | 
					import pp.mdga.game.card.PowerCard;
 | 
				
			||||||
 | 
					import pp.mdga.game.card.ShieldCard;
 | 
				
			||||||
 | 
					import pp.mdga.game.card.SwapCard;
 | 
				
			||||||
 | 
					import pp.mdga.game.card.TurboCard;
 | 
				
			||||||
import pp.mdga.message.client.*;
 | 
					import pp.mdga.message.client.*;
 | 
				
			||||||
import pp.mdga.message.server.ServerMessage;
 | 
					import pp.mdga.message.server.ServerMessage;
 | 
				
			||||||
import pp.mdga.server.ServerGameLogic;
 | 
					import pp.mdga.server.ServerGameLogic;
 | 
				
			||||||
@@ -73,6 +76,11 @@ public class ServerStateTest {
 | 
				
			|||||||
    private PieceState pieceState;
 | 
					    private PieceState pieceState;
 | 
				
			||||||
    private int IDPiece;
 | 
					    private int IDPiece;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private Piece hostPiece1;
 | 
				
			||||||
 | 
					    private Piece hostPiece2;
 | 
				
			||||||
 | 
					    private Piece hostPiece3;
 | 
				
			||||||
 | 
					    private Piece hostPiece4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //declare 3 pieces in home from client
 | 
					    //declare 3 pieces in home from client
 | 
				
			||||||
    private Piece pieceHome1;
 | 
					    private Piece pieceHome1;
 | 
				
			||||||
    private int IDPiece1;
 | 
					    private int IDPiece1;
 | 
				
			||||||
@@ -80,6 +88,7 @@ public class ServerStateTest {
 | 
				
			|||||||
    private int IDPiece2;
 | 
					    private int IDPiece2;
 | 
				
			||||||
    private Piece pieceHome3;
 | 
					    private Piece pieceHome3;
 | 
				
			||||||
    private int IDPiece3;
 | 
					    private int IDPiece3;
 | 
				
			||||||
 | 
					    private Piece pieceClient4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //todo declare a card for client
 | 
					    //todo declare a card for client
 | 
				
			||||||
    private PowerCard bonusCardClient;
 | 
					    private PowerCard bonusCardClient;
 | 
				
			||||||
@@ -115,20 +124,41 @@ public void setUp() {
 | 
				
			|||||||
        game = new Game();
 | 
					        game = new Game();
 | 
				
			||||||
        //initialize two players
 | 
					        //initialize two players
 | 
				
			||||||
        playerHost = new Player("Host");
 | 
					        playerHost = new Player("Host");
 | 
				
			||||||
 | 
					        playerHost.addHandCard(new ShieldCard());
 | 
				
			||||||
 | 
					        playerHost.addHandCard(new SwapCard());
 | 
				
			||||||
 | 
					        playerHost.addHandCard(new TurboCard());
 | 
				
			||||||
        playerHost.initialize();
 | 
					        playerHost.initialize();
 | 
				
			||||||
        IDPlayerHost = 1;
 | 
					        IDPlayerHost = 1;
 | 
				
			||||||
        playerHostColor = Color.CYBER;
 | 
					        playerHostColor = Color.CYBER;
 | 
				
			||||||
        playerHost.setColor(playerHostColor);
 | 
					        playerHost.setColor(playerHostColor);
 | 
				
			||||||
        game.addPlayer(IDPlayerHost, playerHost);
 | 
					        game.addPlayer(IDPlayerHost, playerHost);
 | 
				
			||||||
 | 
					        hostPiece1 = playerHost.getWaitingArea()[0];
 | 
				
			||||||
 | 
					        hostPiece2 = playerHost.getWaitingArea()[1];
 | 
				
			||||||
 | 
					        hostPiece3 = playerHost.getWaitingArea()[2];
 | 
				
			||||||
 | 
					        hostPiece4 = playerHost.getWaitingArea()[3];
 | 
				
			||||||
 | 
					        game.getBoard().setPieceOnBoard(15,hostPiece1);
 | 
				
			||||||
 | 
					        hostPiece1.setState(PieceState.ACTIVE);
 | 
				
			||||||
 | 
					        game.getBoard().setPieceOnBoard(35,hostPiece2);
 | 
				
			||||||
 | 
					        hostPiece2.setState(PieceState.ACTIVE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        playerClient = new Player("Client");
 | 
					        playerClient = new Player("Client");
 | 
				
			||||||
 | 
					        playerClient.addHandCard(new ShieldCard());
 | 
				
			||||||
 | 
					        playerClient.addHandCard(new SwapCard());
 | 
				
			||||||
 | 
					        playerClient.addHandCard(new TurboCard());
 | 
				
			||||||
        playerClient.initialize();
 | 
					        playerClient.initialize();
 | 
				
			||||||
        IDPlayerClient = 2;
 | 
					        IDPlayerClient = 2;
 | 
				
			||||||
        playerClientColor = Color.ARMY;
 | 
					        playerClientColor = Color.ARMY;
 | 
				
			||||||
        playerClient.setColor(playerClientColor);
 | 
					        playerClient.setColor(playerClientColor);
 | 
				
			||||||
        playerClient.addHandCard(bonusCardClient);
 | 
					        playerClient.addHandCard(bonusCardClient);
 | 
				
			||||||
        game.addPlayer(IDPlayerClient, playerClient); //TODO random uuid
 | 
					        game.addPlayer(IDPlayerClient, playerClient);
 | 
				
			||||||
 | 
					        pieceClient4 = playerHost.getWaitingArea()[3];
 | 
				
			||||||
 | 
					        game.getBoard().setPieceOnBoard(22,pieceClient4);
 | 
				
			||||||
 | 
					        pieceClient4.setState(PieceState.ACTIVE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        serverGameLogic = new ServerGameLogic(new ServerSender() {
 | 
					        serverGameLogic = new ServerGameLogic(new ServerSender() {
 | 
				
			||||||
            @Override
 | 
					            @Override
 | 
				
			||||||
@@ -165,9 +195,9 @@ public void shutdown() {
 | 
				
			|||||||
        IDPiece1 = 4;
 | 
					        IDPiece1 = 4;
 | 
				
			||||||
        IDPiece2 = 5;
 | 
					        IDPiece2 = 5;
 | 
				
			||||||
        IDPiece3 = 6;
 | 
					        IDPiece3 = 6;
 | 
				
			||||||
        pieceHome1 = new Piece(playerClientColor, PieceState.HOMEFINISHED);
 | 
					        pieceHome1 = playerHost.getWaitingArea()[0];
 | 
				
			||||||
        pieceHome2 = new Piece(playerClientColor, PieceState.HOMEFINISHED);
 | 
					        pieceHome2 = playerHost.getWaitingArea()[1];
 | 
				
			||||||
        pieceHome3 = new Piece(playerClientColor, PieceState.HOMEFINISHED);
 | 
					        pieceHome3 = playerHost.getWaitingArea()[2];
 | 
				
			||||||
        game.getPlayerByColor(playerClientColor).setPieceInHome(1, pieceHome1);
 | 
					        game.getPlayerByColor(playerClientColor).setPieceInHome(1, pieceHome1);
 | 
				
			||||||
        game.getPlayerByColor(playerClientColor).setPieceInHome(2, pieceHome2);
 | 
					        game.getPlayerByColor(playerClientColor).setPieceInHome(2, pieceHome2);
 | 
				
			||||||
        game.getPlayerByColor(playerClientColor).setPieceInHome(3, pieceHome3);
 | 
					        game.getPlayerByColor(playerClientColor).setPieceInHome(3, pieceHome3);
 | 
				
			||||||
@@ -257,7 +287,6 @@ public void testLobbyToDetermineStartPlayer() {
 | 
				
			|||||||
        serverGameLogic.received(disconnected, IDPlayerClient);
 | 
					        serverGameLogic.received(disconnected, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(forceContinueGame, IDPlayerClient);
 | 
					        serverGameLogic.received(forceContinueGame, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(joinServer, IDPlayerClient);
 | 
					        serverGameLogic.received(joinServer, IDPlayerClient);
 | 
				
			||||||
        //serverGameLogic.received(leaveGame, IDPlayerClient);
 | 
					 | 
				
			||||||
        serverGameLogic.received(lobbyNotReady, IDPlayerClient);
 | 
					        serverGameLogic.received(lobbyNotReady, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(lobbyReady, IDPlayerClient);
 | 
					        serverGameLogic.received(lobbyReady, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(noPowerCard, IDPlayerClient);
 | 
					        serverGameLogic.received(noPowerCard, IDPlayerClient);
 | 
				
			||||||
@@ -267,21 +296,16 @@ public void testLobbyToDetermineStartPlayer() {
 | 
				
			|||||||
        serverGameLogic.received(requestPlayCard, IDPlayerClient);
 | 
					        serverGameLogic.received(requestPlayCard, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(selectCard, IDPlayerClient);
 | 
					        serverGameLogic.received(selectCard, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(selectedPieces, IDPlayerClient);
 | 
					        serverGameLogic.received(selectedPieces, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(selectTSK, IDPlayerClient);
 | 
					 | 
				
			||||||
        //serverGameLogic.received(startGame, IDPlayerClient);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //tests if the server is still in the lobby-state
 | 
					        //tests if the server is still in the lobby-state
 | 
				
			||||||
        assertEquals(serverGameLogic.getLobbyState(), lobbyState);
 | 
					        assertEquals(serverGameLogic.getLobbyState(), lobbyState);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //sets both players ready todo
 | 
					        serverGameLogic.received(new LobbyReadyMessage(), IDPlayerClient);
 | 
				
			||||||
        //game.setAllReady(false);
 | 
					        serverGameLogic.received(new LobbyReadyMessage(), IDPlayerHost);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //tests if the server is still in the lobby-state
 | 
					        //tests if the server is still in the lobby-state
 | 
				
			||||||
        assertEquals(serverGameLogic.getLobbyState(), lobbyState);
 | 
					        assertEquals(serverGameLogic.getLobbyState(), lobbyState);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //sets both players ready todo
 | 
					 | 
				
			||||||
        //game.setAllReady(true);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        //sends the startGame-message IDPlayerClient the Host to the server
 | 
					        //sends the startGame-message IDPlayerClient the Host to the server
 | 
				
			||||||
        serverGameLogic.received(startGame, IDPlayerHost);
 | 
					        serverGameLogic.received(startGame, IDPlayerHost);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -302,10 +326,8 @@ public void testStayInLobby() {
 | 
				
			|||||||
        //serverGameLogic gets all messages, which don't indicate a state change
 | 
					        //serverGameLogic gets all messages, which don't indicate a state change
 | 
				
			||||||
        serverGameLogic.received(animationEnd, IDPlayerClient);
 | 
					        serverGameLogic.received(animationEnd, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(deselectTSK, IDPlayerClient);
 | 
					        serverGameLogic.received(deselectTSK, IDPlayerClient);
 | 
				
			||||||
        //serverGameLogic.received(disconnected, IDPlayerClient);
 | 
					 | 
				
			||||||
        serverGameLogic.received(forceContinueGame, IDPlayerClient);
 | 
					        serverGameLogic.received(forceContinueGame, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(joinServer, IDPlayerClient);
 | 
					        serverGameLogic.received(joinServer, IDPlayerClient);
 | 
				
			||||||
        //serverGameLogic.received(leaveGame, IDPlayerClient);
 | 
					 | 
				
			||||||
        serverGameLogic.received(lobbyNotReady, IDPlayerClient);
 | 
					        serverGameLogic.received(lobbyNotReady, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(lobbyReady, IDPlayerClient);
 | 
					        serverGameLogic.received(lobbyReady, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(noPowerCard, IDPlayerClient);
 | 
					        serverGameLogic.received(noPowerCard, IDPlayerClient);
 | 
				
			||||||
@@ -315,8 +337,6 @@ public void testStayInLobby() {
 | 
				
			|||||||
        serverGameLogic.received(requestPlayCard, IDPlayerClient);
 | 
					        serverGameLogic.received(requestPlayCard, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(selectCard, IDPlayerClient);
 | 
					        serverGameLogic.received(selectCard, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(selectedPieces, IDPlayerClient);
 | 
					        serverGameLogic.received(selectedPieces, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(selectTSK, IDPlayerClient);
 | 
					 | 
				
			||||||
        //serverGameLogic.received(startGame, IDPlayerClient);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //tests if Server is still in Lobby
 | 
					        //tests if Server is still in Lobby
 | 
				
			||||||
        assertEquals(serverGameLogic.getCurrentState(), lobbyState);
 | 
					        assertEquals(serverGameLogic.getCurrentState(), lobbyState);
 | 
				
			||||||
@@ -366,7 +386,6 @@ public void testInterruptToGameContinue() {
 | 
				
			|||||||
        serverGameLogic.received(animationEnd, IDPlayerClient);
 | 
					        serverGameLogic.received(animationEnd, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(deselectTSK, IDPlayerClient);
 | 
					        serverGameLogic.received(deselectTSK, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(disconnected, IDPlayerClient);
 | 
					        serverGameLogic.received(disconnected, IDPlayerClient);
 | 
				
			||||||
        //serverGameLogic.received(forceContinueGame, IDPlayerClient);
 | 
					 | 
				
			||||||
        serverGameLogic.received(joinServer, IDPlayerClient);
 | 
					        serverGameLogic.received(joinServer, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(leaveGame, IDPlayerClient);
 | 
					        serverGameLogic.received(leaveGame, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(lobbyNotReady, IDPlayerClient);
 | 
					        serverGameLogic.received(lobbyNotReady, IDPlayerClient);
 | 
				
			||||||
@@ -426,12 +445,6 @@ public void testInterruptToGameTimer() {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    @Test
 | 
					    @Test
 | 
				
			||||||
    public void testCeremonyToServerStateEndState() {
 | 
					    public void testCeremonyToServerStateEndState() {
 | 
				
			||||||
        //sends the server in ceremony
 | 
					 | 
				
			||||||
        serverGameLogic.setCurrentState(ceremonyState);
 | 
					 | 
				
			||||||
        assertEquals(serverGameLogic.getCurrentState(), ceremonyState);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        //tests if the server is closed
 | 
					 | 
				
			||||||
        // TODO how????
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@@ -533,7 +546,9 @@ public void testDetermineStartPlayerToAnimation() {
 | 
				
			|||||||
        game.setDie(new Die(5));
 | 
					        game.setDie(new Die(5));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //sends the two requestDiceMessages
 | 
					        //sends the two requestDiceMessages
 | 
				
			||||||
        serverGameLogic.received(requestDie, IDPlayerClient);
 | 
					        serverGameLogic.received(requestDie, IDPlayerHost);
 | 
				
			||||||
 | 
					        serverGameLogic.received(new AnimationEndMessage(),IDPlayerClient);
 | 
				
			||||||
 | 
					        serverGameLogic.received(new AnimationEndMessage(), IDPlayerHost);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //tests if the Server is in animationState
 | 
					        //tests if the Server is in animationState
 | 
				
			||||||
        assertEquals(serverGameLogic.getCurrentState(), gameState);
 | 
					        assertEquals(serverGameLogic.getCurrentState(), gameState);
 | 
				
			||||||
@@ -561,6 +576,7 @@ public void testAnimationToPowerCard() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        //receives another animation endMessage
 | 
					        //receives another animation endMessage
 | 
				
			||||||
        serverGameLogic.received(animationEnd, IDPlayerClient);
 | 
					        serverGameLogic.received(animationEnd, IDPlayerClient);
 | 
				
			||||||
 | 
					        serverGameLogic.received(animationEnd, IDPlayerHost);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //tests if the server is in the PowerCard-state
 | 
					        //tests if the server is in the PowerCard-state
 | 
				
			||||||
        assertEquals(serverGameLogic.getCurrentState(), gameState);
 | 
					        assertEquals(serverGameLogic.getCurrentState(), gameState);
 | 
				
			||||||
@@ -643,22 +659,18 @@ public void testStayInPowerCard() {
 | 
				
			|||||||
        turnState.setCurrentState(powerCardState);
 | 
					        turnState.setCurrentState(powerCardState);
 | 
				
			||||||
        assertEquals(turnState.getCurrentState(), powerCardState);
 | 
					        assertEquals(turnState.getCurrentState(), powerCardState);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //receive messages which don't lead to a state change todo
 | 
					        //receive messages which don't lead to a state change
 | 
				
			||||||
        serverGameLogic.received(animationEnd, IDPlayerClient);
 | 
					        serverGameLogic.received(animationEnd, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(deselectTSK, IDPlayerClient);
 | 
					        serverGameLogic.received(deselectTSK, IDPlayerClient);
 | 
				
			||||||
        //serverGameLogic.received(disconnected, IDPlayerClient);
 | 
					 | 
				
			||||||
        serverGameLogic.received(forceContinueGame, IDPlayerClient);
 | 
					        serverGameLogic.received(forceContinueGame, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(joinServer, IDPlayerClient);
 | 
					        serverGameLogic.received(joinServer, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(leaveGame, IDPlayerClient);
 | 
					 | 
				
			||||||
        serverGameLogic.received(lobbyNotReady, IDPlayerClient);
 | 
					        serverGameLogic.received(lobbyNotReady, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(lobbyReady, IDPlayerClient);
 | 
					        serverGameLogic.received(lobbyReady, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(noPowerCard, IDPlayerClient);
 | 
					        serverGameLogic.received(noPowerCard, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(requestBriefing, IDPlayerClient);
 | 
					        serverGameLogic.received(requestBriefing, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(requestDie, IDPlayerClient);
 | 
					        serverGameLogic.received(requestDie, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(requestMove, IDPlayerClient);
 | 
					        serverGameLogic.received(requestMove, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(requestPlayCard, IDPlayerClient);
 | 
					 | 
				
			||||||
        serverGameLogic.received(selectCard, IDPlayerClient);
 | 
					        serverGameLogic.received(selectCard, IDPlayerClient);
 | 
				
			||||||
        //serverGameLogic.received(selectedPieces, IDPlayerClient);
 | 
					 | 
				
			||||||
        serverGameLogic.received(selectTSK, IDPlayerClient);
 | 
					        serverGameLogic.received(selectTSK, IDPlayerClient);
 | 
				
			||||||
        serverGameLogic.received(startGame, IDPlayerClient);
 | 
					        serverGameLogic.received(startGame, IDPlayerClient);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -721,6 +733,7 @@ public void testPlayPowerCardToRollDice() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        //receive second AnimationEndMessage
 | 
					        //receive second AnimationEndMessage
 | 
				
			||||||
        serverGameLogic.received(animationEnd, IDPlayerClient);
 | 
					        serverGameLogic.received(animationEnd, IDPlayerClient);
 | 
				
			||||||
 | 
					        serverGameLogic.received(animationEnd, IDPlayerHost);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //tests if the server is in RollDice and in FirstRoll
 | 
					        //tests if the server is in RollDice and in FirstRoll
 | 
				
			||||||
        assertEquals(serverGameLogic.getCurrentState(), gameState);
 | 
					        assertEquals(serverGameLogic.getCurrentState(), gameState);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user