A single action in detail.<br><i>About the action rulebooks <ahref=inform:/doc178.html><imgborder=0src=inform:/doc_images/help.png></a></i></p>
</td>
</tr></table>
<hr><b>Standard actions concerning other people</b><br>Giving it to <ahref=24_A.html><imgborder=0src=inform:/doc_images/Beneath.png></a>, Showing it to <ahref=25_A.html><imgborder=0src=inform:/doc_images/Beneath.png></a>, Waking <ahref=26_A.html><imgborder=0src=inform:/doc_images/Beneath.png></a>, <b>Throwing it at</b> <ahref=27_A.html><imgborder=0src=inform:/doc_images/Beneath.png></a>, Attacking <ahref=28_A.html><imgborder=0src=inform:/doc_images/Beneath.png></a>, Kissing <ahref=29_A.html><imgborder=0src=inform:/doc_images/Beneath.png></a>, Answering it that <ahref=30_A.html><imgborder=0src=inform:/doc_images/Beneath.png></a>, Telling it about <ahref=31_A.html><imgborder=0src=inform:/doc_images/Beneath.png></a>, Asking it about <ahref=32_A.html><imgborder=0src=inform:/doc_images/Beneath.png></a>, Asking it for <ahref=33_A.html><imgborder=0src=inform:/doc_images/Beneath.png></a><p><hr><p><b>Throwing <fontcolor="#000080">something</font> at <fontcolor="#000080">something</font></b><aname=ThrowAt></a> (<i>past tense</i> thrown it at)<br>
<p>Throwing something at
someone or something is difficult for Inform to model. So many considerations
apply: just because the actor can see the target, does it follow that the
target can accurately hit it? What if the projectile is heavy, like an
anvil, or something not easily aimable, like a feather? What if there
is a barrier in the way, like a cage with bars spaced so that only items
of a certain size get through? And then: what should happen as a result?
Will the projectile break, or do damage, or fall to the floor, or into
a container or onto a supporter? And so on.<br><br>Because it seems hopeless to try to model this in any general way,
Inform instead provides the action for the user to attach specific rules to.
The check rules in the Standard Rules simply require that the projectile
is not an item of clothing still worn (this will be relevant for women
attending a Tom Jones concert) but then, in either the 'futile to throw
things at inanimate objects rule' or the 'block throwing at rule', will
refuse to carry out the action with a bland message.<br><br>To make throwing do something, then, we must either write Instead rules
for special circumstances, or else unlist these check rules and write
suitable carry out and report rules to pick up the thread.<p><hr><p><b>Typed commands leading to this action</b><p>
<pclass="hangingin2">"drop/throw/discard [something preferably held] at/against [something]"</p><p><b>Rules controlling this action</b></p><p>
<pclass="hangingin2">instead of <i>doing something to the cables</i> <ahref="source:story.ni#line53"><imgborder=0src=inform:/doc_images/Reveal.png></a></p>
<br><pclass="hangingin2">check <i>an actor throwing something at</i> <fontcolor="#800000">implicitly remove thrown clothing rule</font> <ahref="javascript:pasteCode('implicitly remove thrown clothing rule')"><imgborder=0src=inform:/doc_images/paste.png></a> <i>name</i><ahref="javascript:pasteCode('The implicitly remove thrown clothing rule is not listed in the check throwing it at rulebook.[=0x000A=]')"><imgborder=0src=inform:/doc_images/paste.png></a> <i>unlist</i> <ahref="#"onclick="showResp('extra1000216', 'plus1000216'); return false;"><imgborder=0id="plus1000216"src=inform:/doc_images/responses.png></a> 1</p>
<pclass="hangingin2">check <i>an actor throwing something at</i> <fontcolor="#800000">futile to throw things at inanimate objects rule</font> <ahref="javascript:pasteCode('futile to throw things at inanimate objects rule')"><imgborder=0src=inform:/doc_images/paste.png></a> <i>name</i><ahref="javascript:pasteCode('The futile to throw things at inanimate objects rule is not listed in the check throwing it at rulebook.[=0x000A=]')"><imgborder=0src=inform:/doc_images/paste.png></a> <i>unlist</i> <ahref="#"onclick="showResp('extra1000217', 'plus1000217'); return false;"><imgborder=0id="plus1000217"src=inform:/doc_images/responses.png></a> 1</p>
<divid="extra1000217"style="display: none;"><pclass="in2"> <spanstyle="color: #ffffff; font-family: 'Courier New', Courier, monospace; background-color: #8080ff;"> A </span><spanstyle="color: #000066;">"Futile."</span> <ahref="javascript:pasteCode('futile to throw things at inanimate objects rule response (A)')"><imgborder=0src=inform:/doc_images/paste.png></a> <i>name</i> <ahref="javascript:pasteCode('futile to throw things at inanimate objects rule response (A) is [=0x0022=]New text.[=0x0022=].')"><imgborder=0src=inform:/doc_images/paste.png></a> <i>set</i></div>
<pclass="hangingin2">check <i>an actor throwing something at</i> <fontcolor="#800000">block throwing at rule</font> <ahref="javascript:pasteCode('block throwing at rule')"><imgborder=0src=inform:/doc_images/paste.png></a> <i>name</i><ahref="javascript:pasteCode('The block throwing at rule is not listed in the check throwing it at rulebook.[=0x000A=]')"><imgborder=0src=inform:/doc_images/paste.png></a> <i>unlist</i> <ahref="#"onclick="showResp('extra1000218', 'plus1000218'); return false;"><imgborder=0id="plus1000218"src=inform:/doc_images/responses.png></a> 1</p>
<divid="extra1000218"style="display: none;"><pclass="in2"> <spanstyle="color: #ffffff; font-family: 'Courier New', Courier, monospace; background-color: #8080ff;"> A </span><spanstyle="color: #000066;">"[We] [lack] the nerve when it [if story tense is the past
tense]came[otherwise]comes[end if] to the crucial moment."</span> <ahref="javascript:pasteCode('block throwing at rule response (A)')"><imgborder=0src=inform:/doc_images/paste.png></a> <i>name</i> <ahref="javascript:pasteCode('block throwing at rule response (A) is [=0x0022=]New text.[=0x0022=].')"><imgborder=0src=inform:/doc_images/paste.png></a> <i>set</i></div>
<br>Click on the speech-bubble icons to see the responses, or here to see all of them: <ahref="#"onclick="showAllResp(); return false;"><imgborder=0src=inform:/doc_images/responses.png></a> 3</p>