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 !

Shaan World - Chrysalis Générateur de Campagne

JDRORI030

NouveautéPrix rougeÀ venirPréco. Juin

Shaan World - Chrysalis Générateur de Campagne est une boîte cartonnée contenant l’essentiel pour utiliser le générateur de campagne : un livret de règles et univers, provinces, tables du générateur, personnages pré-tirés, 2 sets de dés, des cartes et des aides de jeux.

  • Français
  • à partir de 10 ans

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

Ajouter à une liste :

Listes d'envies

Shaan World - Chrysalis Générateur de Campagne est une boîte cartonnée contenant l’essentiel pour utiliser le générateur de campagne : un livret de règles et univers, provinces, tables du générateur, personnages pré-tirés, 2 sets de dés, des cartes et des aides de jeux.

Thème(s) Fantastique
Langue(s) Français
Création Igor PolouchineJulien Bès
Illustrations Yann ValeaniAsur MisoaMatthieu RebuffatSemyon ProskuryakovFrédéric Falaise
Éditeur Origames
EAN 9791094150320

Soyez le premier à commenter ce jeu

Vous devez être identifié pour soumettre des avis.

*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(); } }); -->