@Override
    public void deserialize(Buffer buf) {
        super.deserialize(buf);
        targetId = buf.readInt();
        destinationCellId = buf.readShort();
        if (destinationCellId < -1 || destinationCellId > 559)
            throw new RuntimeException("Forbidden value on destinationCellId = " + destinationCellId + ", it doesn't respect the following condition : destinationCellId < -1 || destinationCellId > 559");
        critical = buf.readByte();
        if (critical < 0)
            throw new RuntimeException("Forbidden value on critical = " + critical + ", it doesn't respect the following condition : critical < 0");
        silentCast = buf.readBoolean();
    }