flag_enflag_fricon_affiliationicon_cardsicon_charactersicon_chequeicon_coeuricon_compteicon_diceicon_discordicon_discounticon_facebookicon_figurineicon_filtericon_gifticon_helmeticon_instagramicon_lightningicon_meeple_circleicon_meepleicon_meeplesicon_megaphoneicon_opinion-bubbleicon_pandaicon_paniericon_pen-brushicon_percenticon_playicon_postmanicon_ribbonicon_rocketicon_rssicon_sherifficon_smiley-negativeicon_smiley-positiveicon_sorticon_staricon_swordsicon_tankicon_threadsicon_thumbsicon_tiktokicon_top-gamesicon_towericon_twitchicon_twittericon_videoicon_wishlisticon_blueskyicon_youtubeillus_bankwireillus_bubbleillus_cashondeliveryillus_cb_paypalillus_CBillus_chequeillus_rating-starslogo_paypallogo_philibert_noel_bonnetlogo_philibert_noel_tabletlogo_philibert_noellogo_philibertlogo_ukoo

Découvrez les nouveautés de la semaine et les jeux bientôt disponibles !

White Sands

CTKWS01

Prix rouge
White Sands est un jeu de rôle pour deux joueurs ou plus. Vous et votre groupe rejoindrez un groupe d'activistes naissants connu sous le nom de The Breathless...
  • Anglais

17,95 €

Disponible

Frais de port à partir de 1,95€ - Offerts à partir de 60€ (France métro.)

Ajouter à une liste :

Listes d'envies

White Sands, un jeu de rôle dystopique !

L'air pur a été privatisé. Les riches et les puissants vivent dans des "mégas-scrapers"  et les impuissants vivent dans la contamination. Pourtant la nature a offert un espoir. Une lutte fait rage pour sauver cet espoir ...

Votre objectif : lutter contre les MegaCorps et remettre l'air pur entre les mains des citoyens.

White Sands c'est :
  •     Pour les fans de dystopie et de Solarpunk.
  •     Pour des joueurs chevronnés à la recherche de quelque chose de différent.
  •     Pour des groupes à la recherche d'un système rapide à apprendre.
  •     Pour des activistes et éco-guerriers

*Voir nos conditions de Frais de port

Disponible en occasion à partir de ' + data.occasion_from_price + '

'); } } else { console.error('ukoosummary : ' + data.message); } } }); } // START - Chargement différés "à la demande" de certains blocs module (ayant la classe ajax_module_block) function checkAjaxLoadRequired() { $(document).find('.ajax_module_block').each(function() { if ($(this).hasClass('ajax_module_block') && elementInView(this)) { $(this).removeClass('ajax_module_block'); var params = []; params.module = $(this).data('module'); params.id = $(this).attr('id'); if (typeof $(this).data('id_product') !== undefined) { params.id_product = $(this).data('id_product'); } loadDeferedHomeBlock(params); } }); // Pour optim : si tous les blocs sont chargés, on désactive le listener // sur le scroll pour l'event "checkAjaxLoadRequired" if (!$(document).find('.ajax_module_block').length) { $(window).off('scroll', checkAjaxLoadRequired); } } function loadDeferedHomeBlock(params) { var url_parameters = ''; if (typeof params.id_product !== 'undefined') { url_parameters = '?id_product=' + parseInt(params.id_product); } $.ajax({ type: 'GET', url: baseDir + 'modules/' + params.module + '/ajax_delayed.php' + url_parameters, dataType: 'json', contentType: 'json', success: function(data) { if (data.status === 'ok') { var content = data.content; if (params.module === 'blockviewed' || params.module === 'antadisblog') { $('#' + params.id).html(content); } else if (params.module === 'ukooreviews') { $('#' + params.id + ' .ajax_block_loader').first().replaceWith($(content).find('.uk-reviews-home__products-container')[0]); $('#' + params.id + ' .ajax_block_loader').last().replaceWith($(content).find('.uk-reviews-home__products-container')[1]); } else if (params.module === 'youtubewall') { $('#' + params.id + ' .title_block').append($(content).find('#youtuwall-subscribe-custom')); $('#' + params.id + ' .ajax_block_loader').replaceWith($(content).find('#youtuwall')); } else { // [ukoo_gilles] [2019-12-19 10:55] -> bugfix - on cible le 1er élément ul uniquement sinon la // structure HTML injectée n'est plus bonne content = $(content).find('ul').first(); $('#' + params.id + ' .ajax_block_loader').replaceWith(content); if (!$('#' + params.id).find('.ajax_block_product').length) { $('#' + params.id).find('.view-more').remove(); } } // l'id contenu dans params.id n'existe maintenant plus dans le DOM if (params.module === 'blockviewed') { if (typeof ajaxCart !== 'undefined') { ajaxCart.overrideButtonsInThePage(); } $("#product #viewed-products_block_left .owl-carousel").owlCarousel({ responsive: { 0: { items: 1 }, 1024: { items: 2 }, 1380: { items: 3 } }, margin: 15, autoplay: false, autoplayTimeout: 3000, autoplayHoverPause: true, nav: true, rewind: true, lazyLoad: true }); } } else if (data.status === 'error') { console.log(data.message); } }, error: function(jqXHR, textStatus, errorThrown) { alert(textStatus); }, }); } function elementInView(elem) { var elementTop = $(elem).offset().top; var elementBottom = elementTop + $(elem).outerHeight(); var viewportTop = $(window).scrollTop(); var viewportBottom = viewportTop + $(window).innerHeight(); return elementBottom > viewportTop && elementTop < viewportBottom; } // END - Chargement différés "à la demande" de certains blocs module (ayant la classe ajax_module_block) $(document).ready(function() { // START - Chargement différés "à la demande" de certains blocs module (ayant la classe ajax_module_block) // on lance une première fois le chargement différé des blocs qui sont déjà dans le champ de vision // au chargement de la page if ($(document).find('.ajax_module_block').length) { checkAjaxLoadRequired(); // lors du scroll, on relance le chargement des blocs différés $(window).scroll(checkAjaxLoadRequired); } // END - Chargement différés "à la demande" de certains blocs module (ayant la classe ajax_module_block) }); $(document).on('click', '.dfd-icon-xl', function(event){ let doofinderInput = $('.dfd-searchbox-main input'); $('#search_query_top').val(doofinderInput.val()); $('#searchbox').submit(); event.stopPropagation(); }); $(document).on('keypress', '.dfd-searchbox-main input', function(event){ let keycode = (event.keyCode ? event.keyCode : event.which); if (keycode == '13') { let doofinderInput = $('.dfd-searchbox-main input'); $('#search_query_top').val(doofinderInput.val()); $('#searchbox').submit(); event.stopPropagation(); } }); -->