Inform - Resources - Examples

Back to List

Inventory
Complete

Backward
Forward

Plain
Coloured
Gaudy

This code
in plain text

Browsing Balances.inf

7. Grasslands and the valley (lines 719-823)

0719  Place Grasslands "Grasslands, near Hut"
0720    with name "grasslands" "grass" "hut" "path",
0721         description
0722            "The grasslands sway over low hills in all directions: it is a
0723             peaceful wilderness, broken only by this hut and a faint path
0724             to the north.",
0725         in_to Hut, e_to Hut,
0726         n_to Valley,
0727         cant_go "You wander around for a while but end up back at the hut.";
0728   
0729  Place Valley "Pocket Valley"
0730    with name "valley" "trail",
0731         description
0732            "A pleasant pocket valley in the grassy hills, through which a
0733             trail runs north-to-south.",
0734         n_to "The trail runs out to nothing, and you retreat for fear of
0735               getting so lost you couldn't find the hut again by nightfall.",
0736         cant_go "You wander around the pleasant valley, but are afraid to
0737                  lose sight of the trail.",
0738         s_to Grasslands;
0739   
0740  [ RideSub; print_ret "You can hardly ride ", (a) noun, "."; ];
0741   
0742  Object -> horse "horse"
0743    with short_name
0744         [; if (self has general) print "winged horse";
0745            else print "chestnut horse";
0746            rtrue;
0747         ],
0748         parse_name
0749         [ i j; if (self has general) j='winged'; else j=-1;
0750            while (NextWord()==j or 'horse' or 'chestnut') i++;
0751            return i;
0752         ],
0753         describe
0754         [;  print_ret
0755                "There is ", (a) self, " here, munching on a pile of oats.";
0756         ],
0757         before
0758         [;  Cast: if (the_spell_was == bozbar_spell)
0759                   {   give self general;
0760                      "A pair of handsome brown wings suddenly appears on
0761                       the horse's powerful shoulders.  The horse turns in a
0762                       complete circle, a look of puzzlement on his face.";
0763                   }
0764                   if (the_spell_was == yomin_spell)
0765                      "He is mainly thinking about oats.  Partly who you are
0766                       and what you're up to, but mainly oats.";
0767             Enter: <<Ride self>>;
0768             Ride: if (horse hasnt general)
0769                      "You ride around for a while, exercising the horse, but
0770                       soon enough he tires of this and pointedly brings you
0771                       back to the oats.  Obligingly you dismount and he
0772                       begins grazing again.";
0773   
0774             print "You begin to ride north.  Then, slowly at first but with
0775                    increasing sureness, the horse begins beating its powerful
0776                    wings.  You rise majestically through the air, sailing
0777                    gracefully across a chasm where the hills fall away. 
0778                    The horse lands gently on the far side and deposits you,
0779                    taking to the skies again.^";
0780             PlayerTo(Edge); rtrue;
0781         ],
0782    has  animate;
0783   
0784  Object -> oats "pile of oats"
0785    with name "oats" "pile" "of",
0786         before
0787         [;  Examine, Search, LookUnder:
0788                 self.before=NULL;
0789                 move shiny_scroll to player; score=score+5;
0790                 itobj=shiny_scroll;
0791                 "Sifting through the oats, you find a shiny scroll!  Lucky
0792                  you got to it before the horse did.  As you turn it over
0793                  in your hands, it seems undamaged.";
0794             Take:  "What would you want with all those oats?";
0795         ],
0796    has  scenery;
0797   
0798  Scroll shiny_scroll "shiny scroll"
0799    with name "shiny";
0800   
0801  Spell -> bozbar_spell
0802    with name "bozbar",
0803         purpose "cause an animal to sprout wings",
0804         magic
0805         [;  if (second==0 || second hasnt animate)
0806                 "The spell dies away in vain.";
0807             if (second==player)
0808                 "Your elbows twitch, but there is no other effect.";
0809             print_ret "For a moment, ", (the) second,
0810                 " looks highly discomforted, but the moment passes.";
0811         ],
0812         unmagic
0813         [;  if (second==0 || second hasnt animate)
0814                 "The spell dies away in vain.";
0815             if (second==player) "What wings?";
0816             if (second==horse && horse has general)
0817             {   give horse ~general;
0818                 "The Enchanter giveth, and the Enchanter taketh away. 
0819                  The horse looks disconsolate but returns to the oats.";
0820             }
0821             print_ret (The) second, " has no wings to lose.";
0822         ];
0823   


Last updated 23 June 2004. This web site has not been fully supported since April 2008. Information may be out of date. This page was originally managed by Graham Nelson (graham@gnelson.demon.co.uk) assisted by C Knight.