Skip to content

Commit

Permalink
more fighting
Browse files Browse the repository at this point in the history
  • Loading branch information
Ian Holmes committed Jan 29, 2014
1 parent 0faa3cb commit 9745a8d
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 10 deletions.
4 changes: 3 additions & 1 deletion lib/letter.js
Expand Up @@ -4327,8 +4327,10 @@ var LetterWriter = (function(){
} else {
if ("rule" in msgNode && msgNode.rule == null)
emptyRule.expand (this.span, this.placeholderSpan, this)
else
else {
this.symbol.nonterminal.rules[msgNode.rule].expand (this.span, this.placeholderSpan, this)
this.expandFromTreeJSON (msgNode) // call this function again, to expand child nodes
}
}

if (this.child.length != msgNode.child.length) {
Expand Down
23 changes: 14 additions & 9 deletions template/fight.letter
@@ -1,8 +1,11 @@
title {The Fight}
roles 2
score $#score
@start => [Let's begin.]{ $self[1] = "Montresor"; $self[2] = "Fortunato"; $state[1] = "ok"; $state[2] = "ok";
$#score += 5; A good day for $#self;.
@start => [The ball has started. Shall we begin?]{$self[1] = "Montresor"; $self[2] = "Fortunato"; $state[1] = "ok"; $state[2] = "ok";
$#score += 5;
At some point during the festivities, half-lost in search of the wine cellar, $+self; bumped into a cloaked figure in a narrow corridor, and muttered an apology; only to find (on recognizing $#self;) that he had violated a long-standing oath never again to extend the courtesies of politeness to his enemy.

Neither had planned this encounter, and each would certainly have avoided the other if they could. And yet, under the circumstances, it was natural for $+self; to feel somewhat annoyed; an emotion he was able to conceal beneath a practiced mask of quiet dignity.
@fight}
random @fight => [<i>Images</i> (@self is $#state;, @other is $+state;)||Your move, $#self;?|
@fight]{&eq($#state,"ok")==>@ok|&eq($#state,"angry")==>@angry|&eq($#state,"resentful")==>@resentful|&eq($#state,"enraged")==>@enraged|&eq($#state,"overtly violent")==>@overtly_violent|&eq($#state,"contesting")==>@contesting|&eq($#state,"covertly violent")==>@covertly_violent|&eq($#state,"isolated")==>@isolated}
Expand All @@ -11,7 +14,7 @@ $#state = "ok";|Challenge @other=>$#state = "contesting";|&eq($+state,"contestin
$+state = "angry";|&eq($+state,"contesting")=>Accept @other's challenge=>$#state = "contesting";|Stall, avoid, submit, ruminate=>$#state = "resentful";}
#= commit @isolated => [Your move, $#self;?]{Insult @other.=>@insult @react_to_insult|&neq($+state,"ok")=>Laugh=>@self laughs.|Make peace offering=>$#state = "resentful";|&eq($+state,"contesting")=>Decline @other's challenge=>@self declines the challenge, angering @other.$+state = "angry";}
#= commit @covertly_violent => [Your move, $#self;?]{Insult @other.=>@insult @react_to_insult|&neq($+state,"ok")=>Laugh=>@self laughs.|&eq($+state,"contesting")=>Decline @other's challenge=>@self declines the challenge, angering @other.
$+state = "angry";|Hostile inaction=>|Snipe=>|Vent=>$#state = "angry";|Shun, break off communication=>$#state = "isolated";}
$+state = "angry";|Hostile inaction=>|Snipe=>|Vent=>$#state = "angry";|Shun, break off communication=>$#state = "isolated";|Try to calm down=>$#state = "resentful";}
#= commit @contesting => [Your move, $#self;?]{Insult @other.=>@insult @react_to_insult|&neq($+state,"ok")=>Laugh=>@self laughs.|I prevail=>$#state = "ok";$+state = "resentful";|@other prevails=>$+state = "ok";$#state = "resentful";}
#= commit @overtly_violent => [Your move, $#self;?]{Insult @other.=>@insult @react_to_insult|&neq($+state,"ok")=>Laugh=>@self laughs.|Try to calm down=>@self takes a deep breath.
$#state = "enraged";|&eq($+state,"contesting")=>Decline @other's challenge=>@self declines the challenge, angering @other.
Expand All @@ -20,15 +23,17 @@ $+state = "angry";}
$#state = "angry";|&eq($+state,"contesting")=>Decline @other's challenge=>@self declines the challenge, angering @other.
$+state = "angry";|&eq($+state,"contesting")=>Accept @other's challenge=>$#state = "contesting";}
#= commit @resentful => [Your move, $#self;?]{Insult @other.=>@insult @react_to_insult|&neq($+state,"ok")=>Laugh=>@self laughs.|&eq($+state,"contesting")=>Decline @other's challenge=>@self declines the challenge, angering @other.
$+state = "angry";|&eq($+state,"contesting")=>Accept @other's challenge=>$#state = "contesting";|Shun, break off communication, scapegoat, withdraw=>$#state = "isolated";|Accept apology, see remorse, forgive, let go=>$#state = "ok";|Retaliate=>$#state = "angry";}
#= commit @ok => [Your move, $#self;?]{Insult @other.=>@insult @react_to_insult|&neq($+state,"ok")=>Laugh=>@self laughs.|&eq($+state,"contesting")=>Decline @other's challenge=>@self declines the challenge, angering @other.$+state = "angry";|&eq($+state,"contesting")=>Accept @other's challenge=>$#state = "contesting";}
#= @insult => [The behavior of @other is intolerable, and you resolve to make him pay for his impudence.|How will you insult @other?]{Insult his mother.=>@insult_mother|Insult his taste.=>@insult_taste}
@insult_taste => [The thousand insults of @other warrant nothing less than a critical examination of their artistic taste.|Which aspect of @other's poor discernment will you criticize?]{}
$+state = "angry";|&eq($+state,"contesting")=>Accept @other's challenge=>$#state = "contesting";|Shun, break off communication, scapegoat, withdraw=>$#state = "isolated";|Accept apology, see remorse, forgive, let go=>$#state = "ok";|Retaliate=>$#state = "angry";|Passive aggression=>$#state = "covertly_violent";}
#= commit @ok => [Your move, $#self;?]{Insult @other.=>@insult @react_to_insult|&neq($+state,"ok")=>Laugh=>@self laughs.|&eq($+state,"contesting")=>Decline @other's challenge=>@self declines the challenge, angering @other.$+state = "angry";|&eq($+state,"contesting")=>Accept @other's challenge=>$#state = "contesting";|Make pleasant conversation=>}
#= @insult => [The behavior of @other is intolerable, and you resolve to make him pay for his impudence.|How will you insult @other?]{Insult his mother=>@insult_mother|Insult his taste=>@insult_taste}
#= @insult_taste => [The arrogance of @other is incredible, and when combined with his limited appreciation of the finer things, quite boorish.|What offends you most about @other's poor taste?]{He does not know Amontillado from Sherry.=>"Truly," scoffs @self, "you should be careful with your judgments. Do you recall the ball at the Palazzo of the Marchese? That was Amontillado you were drinking, @other, Amontillado! And yet you referred to it simply as Sherry, as if like a plowman, dirty from the fields. How coarse!"
|He does not know Beluga from Caviar.=>"It might be the case," remarks @self, "that you should hold your tongue before offering judgments. Do you recall the ball at the Palazzo of the Marchese? The caviar was Beluga, the finest from Russia; and yet you called it Sevruga! The cheapest sturgeon eggs there are! How foolish! How unrefined..."
|He knows little of Freemasonry.=>}
#= @insult_mother => [You resolve to insult @other's matriarch. There can be no doubt he deserves it!|What form of insult will you level?]{Insult her virtue[once] =>"Before we go any further in this conversation," says @self, "I would like to establish the basis of our interaction as peers. After all, it is well-known that your mother proved entirely unable to moderate her passions in her youth. It is said that she had the sensual appetite of a man, and performed to the satisfaction of several; including (if gossip is not entirely to be mistrusted) a footman and a stable-hand. In view of which, it seems quite possible that you are not showing me the deference appropriate for one of your inferior patrilineage."
$#score += 10;|Insult her age[once] =>"It does not surprise me," says @self, "that in our past interactions, you have demonstrably lacked the vigor required to engage my arguments at a comparable level. It is well-known that an old cow produces sour milk and sickly calves. So, if we are frank with one another, must we view the issuance of a sickly weakling such as yourself from the loins of a shriveled old hag such as your own mother is easily seen to be."
$#score += 10;|Insult her appearance[once] =>"While I would never judge a book by its cover," says @self, "it has long been my contention that one can judge the erudition of its contents by the appearance of the author. And on this basis," he continues, "it must go without saying that your intellectual character appears dubious in the extreme. After all, the sow from which you sprang, Piglet, revels in the filth of her sty. It is probably no exaggeration to call your mother the ugliest animal ever to issue from Florence."|Insult her physical condition[once] =>@self draws a deep breath through pinched nostrils. "It seems to me," he says to @other, "that you are fortunate to be here at all, given the poor health of your mother. On many occasions, well-bred mutual friends have commented to me that she was lucky to survive your birth, given her consumptive frame and weak hips."
$#score += 10;|Insult her taste in wine[once] =>"It seems barely worth talking to you on this subject," sniffs @self. "It is well-known amongst members of my family that those of yours lack even basic appreciation for the finer things in life. For example, your mother could not tell Amontillado from Sherry."|Insult her temperament=>"Faugh!" exclaims @self. "I find you odious, of inferior stock. Your mother, for example, is positively @of_poor_character."}
#= random @of_poor_character => {mad|cruel|insane|snide|catty|spiteful|frivolous|mercurial}
$#score += 10;|Insult her taste in wine[once] =>"It seems barely worth talking to you on this subject," sniffs @self. "It is well-known amongst members of my family that those of yours lack even basic appreciation for the finer things in life. For example, your mother could not tell Amontillado from Sherry."|Insult her temperament=>"Faugh!" exclaims @self. "I find you odious, of inferior stock. Your mother, for example, is @of_poor_character."}
#= random @of_poor_character => {quite mad|positively cruel|verifiably insane|decidedly snide|unusually catty|horribly spiteful|disgustingly frivolous|disturbingly mercurial}
#= random @react_to_insult => [$+score -= 5;||]{&eq($+state,"ok")==>$+self; becomes angered. $+state = "angry";|&eq($+state,"angry")==>$+self; becomes enraged. $+state = "enraged";|&eq($+state,"enraged")==>$+self; becomes violently angry. $+state = "violent";|0.00001==>$+self; fumes. }
#= random @self => {$#self;}
#= random @other => {$+self;}

0 comments on commit 9745a8d

Please sign in to comment.