Langue(s) | Anglais | |
Note globale | 4.6 | |
Nombre de pages | 170 | |
Couverture | Souple | |
Éditeur | Modiphius | |
EAN | 9781802810813 |
Ce jeu est conseillé par 1 de nos Clients
Jean-Michel V. le 23/07/22
Un livre écrit par la reine du JDR Solo "Geek Gamers". Ce livre est un "must-have" pas tellement pour les tables aléatoires qu'il contient et qui sont somme toutes assez classiques dans l'univers JDR mais plutôt et surtout pour la façon très détaillée dont elle aborde le JDR solo, les concepts, les trucs et astuces et les pièges à éviter. Elle nous donne dans ce bouquin une vision en profondeur de sa méthode de jeu et de ce qui a fait la popularité de ses parties sur sa chaîne Youtube.
Vous devez être identifié pour soumettre des avis.
Copyright © 2025 www.philibertnet.com Mentions légales - Politique de confidentialité - Paramétrer les cookies - Plan du site
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(); } }); -->