Hello guys, Im pretty new here too, what software do you use to play game?
Offline
I use the Foundry VTT for online games. They have a Shadows Over Sol template, which helps. I use World Anvil for campaign tracking, maps, articles, world-building, etc.
Any specific type of software?
Offline
I, too, use FoundryVTT for online games. We have a (slightly dated) guide for using FoundryVTT with our games on this blog post.
I also have a work-in-progress Foundry macro that will flip a card from a player's deck and report the value in chat. Next step is to prompt the user for the stat being flipped and do the math.
Offline
beholdsa
I, too, use FoundryVTT for online games. We have a (slightly dated) guide for using FoundryVTT with our games on this blog post.I also have a work-in-progress Foundry macro that will flip a card from a player's deck and report the value in chat. Next step is to prompt the user for the stat being flipped and do the math.
Offline
Tom B
Are there any updates to this? PDFoundry does not show as an available module. Are Monarch and Simple Worldbuilding Plus recommended for Shadows Over Sol? Or just Age of Ambition?
What modules do people currently use?
// Set variables const deck = game.cards.getName("Thorin's Deck"); const table = game.cards.getName("Table"); const discard = game.cards.getName("Discard Pile"); const luck = 5; // Clear the table table.pass(discard, table.cards.keys(), {chatNotification: false}); // Draw the cards and calculate the results let cards = null; try { cards = await table.draw(deck, 2, {chatNotification: false}); } catch (error) { ChatMessage.create({ content: `<b>No cards to draw! Shuffle deck!</b>` }); throw new Error(); } let values = []; cards.forEach(c => values.push(c.value <= 10 ? c.value : luck)); let value = Math.max(...values); let flushes = {'spades': [], 'hearts': [], 'diamonds': [], 'clubs': []}; for (let i = 0; i < cards.length; i++) { if (Object.keys(flushes).includes(cards[i].suit)) flushes[cards[i].suit].push(values[i]) } let flush = false; Object.keys(flushes).forEach(key => { const sum = flushes[key].reduce((a, b) => a + b, 0); if (sum > value) { value = sum; flush = true; } }); // Show the results in chat let card_faces = ''; cards.forEach(c => card_faces += `<img class=\"card-face\" src=\"${c.img}\" title=\"${c.name}\"/>`); const flush_msg = flush ? 'Flush!<br/>' : ''; const cfail_msg = values.includes(0) ? 'Critical Failure?<br/>' : ''; const message = `<h4 class=\"card-name\">${flush_msg}${cfail_msg}Card Total: ${value}</h4>`; ChatMessage.create({ content: `<div class=\"card-draw flexrow\">${card_faces}${message}</div>` });
Edited beholdsa (February 27, 2023 21:53:37)
Offline
Защита автомобиля на долгие годы.
Обработка жидким стеклом автомобиля цена <a href=http://www.nanesenie-zhidkogo-stekla-na-avto.ru>http://www.nanesenie-zhidkogo-stekla-na-avto.ru</a> .
Offline
Секреты успешной перетяжки потолка автомобиля в алькантару.
Алькантара на потолок авто <a href=http://potolok-alkantara-dlya-avtomobylya.ru/>http://potolok-alkantara-dlya-avtomobylya.ru/</a> .
Offline
Профессиональная химчистка салона автомобиля в домашних условиях
Химчистка салона автомобиля: подробное руководство
Чем отличается профессиональная химчистка салона автомобиля?
Химчистка тканевого салона автомобиля <a href=https://himchistka-avtosalona.ru/>https://himchistka-avtosalona.ru/</a> .
Offline