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 !

Bodies in Flight

LOOT011

Red price
Bodies In Flight is a system-neutral setting and adventure module for low level characters.
  • English

28,95 €

Available

Shipping from 1.95€ - Free from 60€ (metropolitan France)

Add to a list:

Wishlists

Caffvell Dale is a small village on the edge of the hills, nestled in the shadow of a jutting cliff face.
It exists mostly outside the notice of larger civilisation, a secluded settlement that keeps itself to itself. The people of Caffvell have buried generations of their dead in the caves beside the village, leaving offerings of gold and other valuables to appease their old and expectant gods. The Crag is an ancient and sacred site and they are rightly protective of it.

They are also fiercely protective of the small colony of amber wyverns that nest at the summit of the Crag. Caffvell’s populace believe this to be the last family of amber wyverns extant in the wild, and conservation work has been ongoing for several years. The animals are wild, ferocious, and often mistaken for dragons, and while the people of Caffvell try to keep their existence a secret in order to protect them, it can’t be helped that the wyverns sometimes travel further afield than normal and attract the attention of outsiders.

For one reason or another, the player characters have now arrived in Caffvell. What happens while they are there is for you to find out.

*See our Shipping Conditions

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