*A verb on Haven does:

1) Check the function can_verb_rule() in the VERB OBJECT

  If successful it moves on to the next step.
  
2) If the verb has a target (tend wounds on LIV):
  2a) Check direct_verb_rule() in the target object.
  
  if successful, it moves on to the next step.

3) if the verb requires 2 objects: (light torch with match)
    3a) calls indirect_verb_rule_string_rule() in the second object

  if successful, it moves on to the next step.
  
4) It then calls do_verb_rule() in the VERB OBJECT.  This
   executes the actual verb.
    
    
*Where do I put checks?

In the verb:  
  
  can_verb() needs to check, "Can this person actually
  attempt to do this action?"  DO NOT check for things like "is the
  "target here" or "can the target be hit" here.  Simply check for
  the PHYSICAL ABILITY of the ACTING AGENT to do the job.  This
  includes checks like "Is this person sleeping?" and "Is this
  person paralyzed?"
  
In the direct_verb_rule():
  
  Can the ACTING AGENT perform the action ON THE TARGET.  This
  doesn't check things like "Is the agent asleep?", it simply
  checks "Can I be <verbed>?"  For example, direct_attack_liv()
  is where the newbie checks are for player combat.
  
In the indirect_verb_rule_string_rule:

  Can the second object be used with this verb?  Check to be
  sure, for example, that a match is lit.  (light torch with match).