table() Demo

What is table() Demo?

This demo uses just about every element available in the entire RollPlayer library.

Example

Result:

How the Template Works

The code for this demo creates an object showcasing a feature of the RollPlayer.js library and returns it to the template as demo.rollable. Both when the page loads and when the button above is pressed the template code calls demo.rollable.roll() and the returned result is displayed above. This process is identicle for all the demos allowing the explanations below to focus on only the object being demoed.

Every result is also logged to the console if you want to see a history after a bunch of button clicks.

Version

1.0

Authors

  • Derek Pennycuff

Full source

  1. 1: var demo = function() {
  2. 2: var d1 = RollPlayer.die(1);
  3. 3: var d4 = RollPlayer.die(4);
  4. 4: var d6 = RollPlayer.die(6);
  5. 5: var d100 = RollPlayer.die(100);
  6. 6: var p2d6 = RollPlayer.sumPool(d6, d6);
  7. 7: var rows = [
  8. 8: RollPlayer.row(RollPlayer.mob(d1, 'bat swarm'), 1, 6),
  9. 9: RollPlayer.row(RollPlayer.mob(d1, 'yellow musk creeper'), 7, 8),
  10. 10: RollPlayer.row(RollPlayer.mob(d4, 'giant spiders'), 9, 12),
  11. 11: RollPlayer.row(RollPlayer.mob(d1, 'assassin vine'), 13, 16),
  12. 12: RollPlayer.row(RollPlayer.mob(d1, 'giant mantis'), 17, 20),
  13. 13: RollPlayer.row(RollPlayer.mob(d1, 'unicorn'), 21, 22),
  14. 14: RollPlayer.row(RollPlayer.mob(d4, 'dire bats'), 23, 26),
  15. 15: RollPlayer.row(RollPlayer.mob(d4, 'boars'), 27, 32),
  16. 16: RollPlayer.row(RollPlayer.mob(d1, 'dire boar'), 33, 34),
  17. 17: RollPlayer.row(RollPlayer.mob(d1, 'giant stag beetle'), 35, 38),
  18. 18: RollPlayer.row(RollPlayer.mob(d1, 'owlbear'), 39, 42),
  19. 19: RollPlayer.row(RollPlayer.mob(d1, 'tiger'), 43, 46),
  20. 20: RollPlayer.row(RollPlayer.mob(d6, 'werewolves'), 47, 52),
  21. 21: RollPlayer.row(RollPlayer.mob(d4, 'dire wolves'), 53, 56),
  22. 22: RollPlayer.row(RollPlayer.luck(
  23. 23: RollPlayer.mob(d1, 'ettercap'),
  24. 24: RollPlayer.mob(d6, 'giant spiders')
  25. 25: ).set_callback(function(a) { return a.join(' and '); }), 57, 60),
  26. 26: RollPlayer.row(RollPlayer.luck(
  27. 27: RollPlayer.mob(p2d6, 'goblins'),
  28. 28: RollPlayer.mob(d4, 'goblin dogs')
  29. 29: ).set_callback(function(a) { return a.join(' and '); }), 61, 70),
  30. 30: RollPlayer.row(RollPlayer.luck(
  31. 31: RollPlayer.mob(d1, 'barghest'),
  32. 32: RollPlayer.mob(p2d6, 'goblins')
  33. 33: ).set_callback(function(a) { return a.join(' and '); }), 71, 74),
  34. 34: RollPlayer.row(RollPlayer.mob(d6, 'centaurs'), 75, 78),
  35. 35: RollPlayer.row(RollPlayer.mob(p2d6, 'wolves'), 79, 86),
  36. 36: RollPlayer.row(RollPlayer.mob(d1, 'nymph'), 87, 88),
  37. 37: RollPlayer.row(RollPlayer.mob(d1, 'dire tiger'), 89, 92),
  38. 38: RollPlayer.row(RollPlayer.mob(d1, 'green dragon (young)'), 93, 94),
  39. 39: RollPlayer.row(RollPlayer.mob(d4, 'shambling mounds'), 95, 98),
  40. 40: RollPlayer.row(RollPlayer.mob(d1, 'treant'), 99, 100)
  41. 41: ];
  42. 42: var t = RollPlayer.table(d100, rows);
  43. 43: return { rollable : t };
  44. 44: }();

Explanations

We're creating a wrapper object called demo so that the template code can access the inner workings of this particular example.

  1. 1: var demo = function() {

Let's try Forest (Temperate) (Avg. CR 5) from d20pfsrd.com

  1. 2: var d1 = RollPlayer.die(1);
  2. 3: var d4 = RollPlayer.die(4);
  3. 4: var d6 = RollPlayer.die(6);
  4. 5: var d100 = RollPlayer.die(100);
  5. 6: var p2d6 = RollPlayer.sumPool(d6, d6);
  6. 7: var rows = [
  7. 8: RollPlayer.row(RollPlayer.mob(d1, 'bat swarm'), 1, 6),
  8. 9: RollPlayer.row(RollPlayer.mob(d1, 'yellow musk creeper'), 7, 8),
  9. 10: RollPlayer.row(RollPlayer.mob(d4, 'giant spiders'), 9, 12),
  10. 11: RollPlayer.row(RollPlayer.mob(d1, 'assassin vine'), 13, 16),
  11. 12: RollPlayer.row(RollPlayer.mob(d1, 'giant mantis'), 17, 20),
  12. 13: RollPlayer.row(RollPlayer.mob(d1, 'unicorn'), 21, 22),
  13. 14: RollPlayer.row(RollPlayer.mob(d4, 'dire bats'), 23, 26),
  14. 15: RollPlayer.row(RollPlayer.mob(d4, 'boars'), 27, 32),
  15. 16: RollPlayer.row(RollPlayer.mob(d1, 'dire boar'), 33, 34),
  16. 17: RollPlayer.row(RollPlayer.mob(d1, 'giant stag beetle'), 35, 38),
  17. 18: RollPlayer.row(RollPlayer.mob(d1, 'owlbear'), 39, 42),
  18. 19: RollPlayer.row(RollPlayer.mob(d1, 'tiger'), 43, 46),
  19. 20: RollPlayer.row(RollPlayer.mob(d6, 'werewolves'), 47, 52),
  20. 21: RollPlayer.row(RollPlayer.mob(d4, 'dire wolves'), 53, 56),
  21. 22: RollPlayer.row(RollPlayer.luck(
  22. 23: RollPlayer.mob(d1, 'ettercap'),
  23. 24: RollPlayer.mob(d6, 'giant spiders')
  24. 25: ).set_callback(function(a) { return a.join(' and '); }), 57, 60),
  25. 26: RollPlayer.row(RollPlayer.luck(
  26. 27: RollPlayer.mob(p2d6, 'goblins'),
  27. 28: RollPlayer.mob(d4, 'goblin dogs')
  28. 29: ).set_callback(function(a) { return a.join(' and '); }), 61, 70),
  29. 30: RollPlayer.row(RollPlayer.luck(
  30. 31: RollPlayer.mob(d1, 'barghest'),
  31. 32: RollPlayer.mob(p2d6, 'goblins')
  32. 33: ).set_callback(function(a) { return a.join(' and '); }), 71, 74),
  33. 34: RollPlayer.row(RollPlayer.mob(d6, 'centaurs'), 75, 78),
  34. 35: RollPlayer.row(RollPlayer.mob(p2d6, 'wolves'), 79, 86),
  35. 36: RollPlayer.row(RollPlayer.mob(d1, 'nymph'), 87, 88),
  36. 37: RollPlayer.row(RollPlayer.mob(d1, 'dire tiger'), 89, 92),
  37. 38: RollPlayer.row(RollPlayer.mob(d1, 'green dragon (young)'), 93, 94),
  38. 39: RollPlayer.row(RollPlayer.mob(d4, 'shambling mounds'), 95, 98),
  39. 40: RollPlayer.row(RollPlayer.mob(d1, 'treant'), 99, 100)
  40. 41: ];
  41. 42: var t = RollPlayer.table(d100, rows);

Return an object so that our template code can access the star of this example as demo.rollable

  1. 43: return { rollable : t };
  2. 44: }();

Tutorial Builder is © Christian Heilmann, 2008. Licensed under the BSD license.