Release 1

Section Two - "Specifics"

Report an actor test_rolling:

let the roll be the die roll understood;

if the polyhedra are not visible, instead say "You see no dice here.";

let dnum be the modulus of the dice part of the roll;

let dsize be the modulus of the sides part of the roll;

let dadds be the modifier part of the roll;

if dsize is less than one, instead say "There's no such thing as a [dsize in words]-sided die.";

if dnum is less than one

begin;

if dnum is 0, instead say "[if the actor is the player]You smugly roll[otherwise][the actor] smugly rolls[end if] no dice[if dadds is not 0] and, just as smugly, add [dadds in words], making, naturally, [dadds in words][otherwise]. Zero. Well done[end if].";

instead say "There's no way to roll [dnum in words]dice.";

end if;

if dsize is 1

begin;

say "Weirdly, [if the actor is the player]you do[otherwise][the actor] does[end if] find [dnum in words] [if dnum is 1]die[otherwise]dice[end if] marked '1' on all sides.[paragraph break]";

otherwise;

if dsize is 2

begin;

say "Generally a coin is used as a two-sided die, but [if the actor is the player]you do[otherwise][the actor] does[end if] do actually find [dnum in words] marked with a '1' on one side and a '2' on the other.[paragraph break]";

otherwise;

if dsize is not 4 and dsize is not 6 and dsize is not 8 and dsize is not 10 and dsize is not 12 and dsize is not 20 and dsize is not 30 and dsize is not 100

begin;

say "It takes some doing, but eventually [if the actor is the player]you do[otherwise][the actor] does[end if] locate [dnum in words] [dsize]-sided [if dnum is 1]die[otherwise]dice[end if].[paragraph break]";

end if;

end if;

end if;

say "For [if the actor is the player]your own amusement, you roll [otherwise][the actor] rolls [end if] ";

let dresult be the roll of dnum dice with dsize sides adding dadds;

say ", making [dresult in words][run paragraph on]";

if dnum is 1 and dsize is 20 and dadds is 0

begin;

if dresult is 20

begin;

say "[emdash][italic type]CRITICAL HIT[roman type]!";

otherwise;

if dresult is 1

begin;

say "[emdash][italic type]FUMBLE[roman type]!";

if the player is Stiffy Makane

begin;

say "[paragraph break]Suddenly, a sixteen-ton iron weight drops from the ceiling onto your head, squashing you like a beetle.";

end the story saying "You rolled a one";

end if;

otherwise;

say ".";

end if;

end if;

otherwise;

if dnum is 2 and dsize is 6 and dadds is 0

begin;

if craps-point is 0

begin;

if dresult is 7 or dresult is 11

begin;

say "[emdash][italic type]NATURAL! YOU WIN[roman type]!";

otherwise;

if dresult is 2 or dresult is 3 or dresult is 12

begin;

say "[emdash][italic type]CRAPS! YOU LOSE[roman type]!";

otherwise;

say ", and establishing it as the point.";

now the craps-point is dresult;

end if;

end if;

otherwise;

if dresult is 7

begin;

say "[emdash][italic type]SEVEN-OUT! YOU LOSE[roman type]!";

now the craps-point is 0;

otherwise;

if dresult is the craps-point

begin;

say "[emdash][italic type]YOU WIN[roman type]!";

now the craps-point is 0;

otherwise;

say ". Shoot again[emdash]your point is [craps-point in words].";

end if;

end if;

end if;

otherwise;

say ".";

end if;

end if.

Carry out test_rolling craps:

Try test_rolling 2d6;

stop the action.

Some polyhedra are scenery in the Game Room. The description is "Dice, in all the shapes of the Platonic solids (and some others), are scattered about the game table." Understand "platonic", "solids", "solid", "prism", "prisms", "die", "dice", "tetrahedron", "4-sided", "cube", "6-sided", "octohedron", "8-sided", "dodecahedron", "12-sided", "icosahedron", "20-sided", "30-sided", "100-sided", "polyhedron", "bone", "bones", and "polyhedra" as polyhedra.

Instead of dropping the polyhedra:

try test_rolling 2d6.

Check taking the polyhedra:

instead try test_rolling 2d6.

Instead of pushing the polyhedra:

try test_rolling 2d6.