A couple example catches

A couple example catches


This file contains a couple example catches that exist on Northern Lights. Feel free to use them as inspiration or explanation of what catches look like or can be used for.

For explanations of what the different catches and fields means, see the files on zone formats and on the catch function system.


The first object is Cux' staff.


Name            = cuxstaff
Pname           = staff
Location        = IN_ROOM:Cux
Oflags          {Weapon WizGet WizWeapon}
Size            = 8
Damage          = 20
Desc[0]         = "Cux's spiffy shepherd's staff lies glowing here."
Examine         = "It smells faintly of wet sheep."
Catch           = on_reset;
        send_item_player(Cux, obj, cuxstaff, WIELDED_BY,
                "The shepherd's staff bleats like a sheep and disappears.",
                "Your shepherd's staff appears in your hand, bleating like "
                "a sheep.",
                NO_MSG);
Catch           = wave;
                  send_message(TO_MYNUM, "You wave your trusty staff at "
                        "a passing sheep!"),
                  send_message(TO_ROOM, "%m waves the shepherd staff at a "
                        "passing sheep!"),
                  fail();
Catch           = eat;
                  send_message(TO_MYNUM, "Nah, you'd only get splinters "
                        "in your gum, and mutton is so much tastier."),
                  send_message(TO_ROOM, "%m chews on the shepherd staff."),
                  fail();
Catch           = light;
                  send_message(TO_MYNUM, "The sheep union won't thank you "
                        "for waving a burning staff at them!"),
                  fail();
Catch           = hug;
                  send_message(TO_MYNUM, "Wouldn't you rather hug a soft "
                        "fleecy sheep?"),
                  send_message(TO_ROOM, "%m hugs the shepherd staff! "
                        "What a strange display of affection!"),
                  fail();
Catch           = dig;
                  send_message(TO_MYNUM, "You see sheep attempting to run "
                        "into rabbitholes all around you."),
                  succeed();
Catch           = cut;
                  send_message(TO_MYNUM, "Cut staff, and then increase "
                        "executive salaries."),
                  fail();
Catch           = alias;
                  send_message(TO_MYNUM, "You have a meeting with your "
                        "staff."),
                  send_message(TO_ROOM, "%m becomes very staff-like for a "
                        "second."),
                  fail();
Catch           = turn;
                  send_message(TO_MYNUM, "Ouch! That gave you a splinter! "
                        "Lets hope you won't get a staff infection!"),
                  fail();
Catch           = wield;
                  if (plev(mynum) >= LVL_WIZARD && plev(mynum) < LVL_PATRON)
                    deathtrap("A herd of sheep sees you wield the shepherd "
                        "staff, and in a frenzy to get\naway they run "
                        "straight over you!",
                        "%m suddenly gets run over by a herd of frenzied "
                        "sheep!",
                        NO_MSG,
                        NO_MSG,
                        "\t\tMind the sheep!"),
                    fail(),
                  endif
                  succeed();
Catch         = tickle;
                 send_message(TO_MYNUM, "Your fingers will wear out before "
                       "you'll manage to get the staff to giggle!"),
                 send_message(TO_ROOM, "%m tickles the staff, does "
                       "% think it is a sheep?"),
                 fail();
End             = cuxstaff



Last edited July 17, 1995.

aber@ludd.luth.se