/* ** AberMUD [DIRT] Database Definitions */ #include "kernel.h" #include "condact.h" #include "objects.h" #include "locations.h" #include "oflags.h" #include "mobiles.h" #include "verbs.h" /* ** Events ** ** The order of objects with same names should NOT be changed. ** */ LINE event[] = { /* Drink from chalice */ VERB_EAT, OBJ_MOOR_CHALICE, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 260, DONE, NUL, NUL, /* Put chalice on altar */ VERB_PUT, OBJ_MOOR_CHALICE, OBJ_MOOR_ALTAR, PAR,OBJ_MOOR_CHALICE, PAR,OBJ_MOOR_ALTAR, PAR,1, PAR,0, PAR,0, PAR,0, DESTROY, SETSTATE, OK, NUL, /* Pray at altar + chalice */ VERB_PRAY, ANY, ANY, HERE,OBJ_MOOR_ALTAR, STATE,OBJ_MOOR_ALTAR, NUL,1, PAR, LOC_WASTE_BEFORE, PAR,OBJ_MOOR_ALTAR, PAR,0, 261, GOTO, SETSTATE, DONE, /* Praying in Wasteland brings you behind the altar */ VERB_PRAY, ANY, ANY, INZONE,LOC_WASTE_BEFORE, PAR,LOC_CHURCH_BEHIND, CHANCE,50, NOT|IFFIGHTING,0, PAR,0, PAR,0, 264, GOTO, DONE, NUL, /* North to trapdoor in ORCHOLD */ VERB_NORTH, ANY, ANY, IN, LOC_ORCHOLD_DAMP, PAR, LOC_ORCHOLD_TRAP, PAR,0, PAR,0, PAR,0, PAR,0, 274, GOTO, DONE, NUL, /* Get or put stuff on altar */ VERB_GET, ANY, OBJ_MOOR_ALTAR, STATE,OBJ_MOOR_ALTAR, NUL,1, PAR,0, PAR,0, PAR,0, PAR,0, 262, DONE, NUL, NUL, /* Same for the remove */ VERB_REMOVE, ANY, OBJ_MOOR_ALTAR, STATE,OBJ_MOOR_ALTAR, NUL,1, PAR,0, PAR,0, PAR,0, PAR,0, 262, DONE, NUL, NUL, /* go raft */ VERB_GO, OBJ_VILLAGE_RAFT, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 233, DONE, NUL, NUL, /* go boat */ VERB_GO, OBJ_VILLAGE_BOAT, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 233, DONE, NUL, NUL, /* go canoe */ VERB_GO, OBJ_ANCIENT_CANOE, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 233, DONE, NUL, NUL, /* give seamas the pipes */ VERB_GIVE, P(MOB_BLIZZARD_SEAMAS), OBJ_FOREST_PIPES, GOT,OBJ_FOREST_PIPES, PHERE,P(MOB_BLIZZARD_SEAMAS), PAR,48, PAR,0, PAR,0, PAR,0, COM_GIVE, 247, BROAD, DONE, /* give pipes to seamas */ VERB_GIVE, OBJ_FOREST_PIPES, P(MOB_BLIZZARD_SEAMAS), GOT,OBJ_FOREST_PIPES, PHERE,P(MOB_BLIZZARD_SEAMAS), PAR,48, PAR,0, PAR,0, PAR,0, COM_GIVE, 247, BROAD, DONE, /* give Piper the bagpipes */ VERB_GIVE, P(MOB_VALLEY_PIPER), OBJ_CAVE_BAGPIPES, GOT,OBJ_CAVE_BAGPIPES, PHERE,P(MOB_VALLEY_PIPER), PAR,68, PAR,50, PAR,0, PAR,0, COM_GIVE, 255, BROAD, GAIN, /* give Piper the bagpipes */ VERB_GIVE, P(MOB_VALLEY_PIPER), OBJ_CAVE_BAGPIPES, GOT,OBJ_CAVE_BAGPIPES, PHERE,P(MOB_VALLEY_PIPER), PAR,0, PAR,0, PAR,0, PAR,0, DONE, 0, 0, 0, /* give bagpipes to Piper */ VERB_GIVE, OBJ_CAVE_BAGPIPES, P(MOB_VALLEY_PIPER), GOT,OBJ_CAVE_BAGPIPES, PHERE,P(MOB_VALLEY_PIPER), PAR,68, PAR,50, PAR,0, PAR,0, COM_GIVE, 255, BROAD, GAIN, /* give Piper the bagpipes */ VERB_GIVE, OBJ_CAVE_BAGPIPES, P(MOB_VALLEY_PIPER), GOT,OBJ_CAVE_BAGPIPES, PHERE,P(MOB_VALLEY_PIPER), PAR,0, PAR,0, PAR,0, PAR,0, DONE, 0, 0, 0, /* give umbrella to chicken */ VERB_GIVE, OBJ_START_UMBRELLA, P(MOB_VALLEY_CHICKEN), GOT,OBJ_START_UMBRELLA, PHERE,P(MOB_VALLEY_CHICKEN), PAR,50, PAR,0, PAR,0, PAR,0, COM_GIVE, 230, GAIN, DONE, /* give chicken the umbrella */ VERB_GIVE, P(MOB_VALLEY_CHICKEN), OBJ_START_UMBRELLA, GOT,OBJ_START_UMBRELLA, PHERE,P(MOB_VALLEY_CHICKEN), PAR,50, PAR,0, PAR,0, PAR,0, COM_GIVE, 230, GAIN, DONE, /* give runesword to player */ VERB_GIVE, OBJ_CASTLE_RUNESWORD, ANY, NOT|WIZ,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 205, DONE, NUL, NUL, /* give player runesword */ VERB_GIVE, ANY, OBJ_CASTLE_RUNESWORD, NOT|WIZ,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 205, DONE, NUL, NUL, /* give */ VERB_GIVE, ANY, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, COM_GIVE, OK, NUL, NUL, /* play the pipes */ VERB_PLAY, OBJ_FOREST_PIPES, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 249, DONE, NUL, NUL, /* play the harp */ VERB_PLAY, OBJ_BLIZZARD_HARP, ANY, PAR,65, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, BROAD, DONE, NUL, NUL, /* value */ VERB_VALUE, ANY, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, COM_VALUE, OK, NUL, NUL, /* cut ladder */ VERB_CUT, OBJ_VALLEY_LADDER2ELF, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 240, DONE, NUL, NUL, /* cut ladder 1 */ VERB_CUT, OBJ_TREEHOUSE_LADDER, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 240, DONE, NUL, NUL, /* cut rope 1 */ VERB_CUT, OBJ_MOOR_ROPETOPPIT, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 240, DONE, NUL, NUL, /* cut rope 2 */ VERB_CUT, OBJ_LEDGE_ROPEBOTPIT, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 240, DONE, NUL, NUL, /* cut rope 3 */ VERB_CUT, OBJ_LEDGE_ROPEWEST, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 240, DONE, NUL, NUL, /* cut rope 4 */ VERB_CUT, OBJ_VALLEY_ROPEEAST, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 240, DONE, NUL, NUL, /* cut rope 5 */ VERB_CUT, OBJ_LIMBO_ROPE, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 240, DONE, NUL, NUL, /* tie ladder down tree (rope 5) */ VERB_TIE, OBJ_LIMBO_ROPE, ANY, IN, LOC_TREEHOUSE_PORCH, PAR,OBJ_VALLEY_LADDER2ELF, PAR,OBJ_LIMBO_ROPE, PAR,OBJ_TREEHOUSE_LADDER, PAR,0, PAR,0, CREATE, DESTROY, CREATE, OK, /* untie rope 5 */ VERB_UNTIE, OBJ_LIMBO_ROPE, ANY, STATE,OBJ_LIMBO_ROPE, NUL,0, PAR,OBJ_LEDGE_ROPEWEST, PAR,0, PAR,0, PAR,0, 241, INC, NUL, NUL, /* turn ladder into pure rope (rope 5) */ VERB_UNTIE, OBJ_LIMBO_ROPE, ANY, STATE,OBJ_LIMBO_ROPE, NUL,0, PAR,OBJ_LIMBO_ROPE, PAR, OBJ_VALLEY_LADDER2ELF, PAR,OBJ_MOOR_ROPETOPPIT, PAR,0, INC, INC, INC, DONE, /* untie (rope 5) */ VERB_UNTIE, OBJ_LIMBO_ROPE, ANY, STATE,OBJ_LIMBO_ROPE, NUL,2, PAR,OBJ_LEDGE_ROPEWEST, PAR,0, PAR,0, PAR,0, NUL, DEC, NUL, NUL, /* untie rope knot (rope 5) */ VERB_UNTIE, OBJ_LIMBO_ROPE, ANY, STATE,OBJ_LIMBO_ROPE, NUL,2, PAR,OBJ_LIMBO_ROPE, PAR,OBJ_VALLEY_LADDER2ELF, PAR,OBJ_MOOR_ROPETOPPIT, PAR,0, DEC, DEC, DEC, OK, /* knot (rope 5) */ VERB_KNOT, OBJ_LIMBO_ROPE, ANY, STATE,OBJ_LIMBO_ROPE, NUL,2, PAR,0, PAR,0, PAR,0, PAR,0, 243, DONE, NUL, NUL, /* knot (rope 5) */ VERB_KNOT, OBJ_LIMBO_ROPE, ANY, STATE,OBJ_LIMBO_ROPE, NUL,0, PAR,0, PAR,0, PAR,0, PAR,0, 242, DONE, NUL, NUL, /* knot (rope 5) */ VERB_KNOT, OBJ_LIMBO_ROPE, ANY, STATE,OBJ_LIMBO_ROPE, NUL,1, PAR,OBJ_LEDGE_ROPEWEST, PAR,0, PAR,0, PAR,0, INC, NUL, NUL, NUL, /* knot (rope 5) */ VERB_KNOT, OBJ_LIMBO_ROPE, ANY, STATE,OBJ_LIMBO_ROPE, NUL,1, PAR,OBJ_MOOR_ROPETOPPIT, PAR,OBJ_VALLEY_LADDER2ELF, PAR,OBJ_LIMBO_ROPE, PAR,0, INC, INC, INC, OK, /* up */ VERB_UP, ANY, ANY, HERE,OBJ_VALLEY_LADDER2ELF, PAR,OBJ_TREEHOUSE_LADDER, NOT|IFFIGHTING,0, PAR,0, PAR,0, PAR,0, GOBY, DONE, NUL, NUL, /* down */ VERB_DOWN, ANY, ANY, HERE,OBJ_TREEHOUSE_LADDER, PAR,OBJ_VALLEY_LADDER2ELF, NOT|IFFIGHTING,0, PAR,0, PAR,0, PAR,0, GOBY, DONE, NUL, NUL, /* knot (rope 5) */ VERB_KNOT, OBJ_LIMBO_ROPE, ANY, IN, LOC_VALLEY_ESIDE, PAR,OBJ_LIMBO_ROPE, PAR,OBJ_VALLEY_LADDER2ELF, PAR,OBJ_TREEHOUSE_LADDER, PAR,0, PAR,0, DESTROY, CREATE, CREATE, 244, /* knot (rope 5) */ VERB_KNOT, OBJ_LIMBO_ROPE, ANY, IN, LOC_VALLEY_ESIDE, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, DONE, NUL, NUL, NUL, /* knot (rope 5) */ VERB_KNOT, OBJ_LIMBO_ROPE, ANY, IN, LOC_TREEHOUSE_PORCH, PAR,OBJ_LIMBO_ROPE, PAR,OBJ_VALLEY_LADDER2ELF, PAR,OBJ_TREEHOUSE_LADDER, PAR,0, PAR,0, DESTROY, CREATE, CREATE, 244, /* knot (rope 5) */ VERB_KNOT, OBJ_LIMBO_ROPE, ANY, IN, LOC_TREEHOUSE_PORCH, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, DONE, NUL, NUL, NUL, /* untie ladder */ VERB_UNTIE, OBJ_VALLEY_LADDER2ELF, ANY, PAR,OBJ_LIMBO_ROPE, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, CREATE, NUL, NUL, NUL, /* untie ladder */ VERB_UNTIE, OBJ_VALLEY_LADDER2ELF, ANY, PAR,OBJ_VALLEY_LADDER2ELF, PAR,OBJ_TREEHOUSE_LADDER, PAR,OBJ_LIMBO_ROPE, PAR,FL_CURCH, PAR,0, PAR,0, DESTROY, DESTROY, PUT, OK, /* untie ladder 1 */ VERB_UNTIE, OBJ_TREEHOUSE_LADDER, ANY, PAR,OBJ_LIMBO_ROPE, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, CREATE, NUL, NUL, NUL, /* untie ladder 1 */ VERB_UNTIE, OBJ_TREEHOUSE_LADDER, ANY, PAR,OBJ_VALLEY_LADDER2ELF, PAR,OBJ_TREEHOUSE_LADDER, PAR,OBJ_LIMBO_ROPE, PAR,FL_CURCH, PAR,0, PAR,0, DESTROY, DESTROY, PUT, OK, /* throw (rope 5) */ VERB_THROW, OBJ_LIMBO_ROPE, ANY, IN, LOC_VALLEY_ESIDE, PAR,OBJ_LIMBO_ROPE, PAR,OBJ_VALLEY_LADDER2ELF, PAR,OBJ_TREEHOUSE_LADDER, PAR,0, PAR,0, DESTROY, CREATE, CREATE, 244, /* throw (rope 5) */ VERB_THROW, OBJ_LIMBO_ROPE, ANY, IN, LOC_VALLEY_ESIDE, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, DONE, NUL, NUL, NUL, /* throw (rope 5) */ VERB_THROW, OBJ_LIMBO_ROPE, ANY, IN, LOC_TREEHOUSE_PORCH, PAR,OBJ_LIMBO_ROPE, PAR,OBJ_VALLEY_LADDER2ELF, PAR,OBJ_TREEHOUSE_LADDER, PAR,0, PAR,0, DESTROY, CREATE, CREATE, 244, /* throw (rope 5) */ VERB_THROW, OBJ_LIMBO_ROPE, ANY, IN, LOC_TREEHOUSE_PORCH, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, DONE, NUL, NUL, NUL, /* knot (rope 5) */ VERB_KNOT, OBJ_LIMBO_ROPE, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 245, DONE, NUL, NUL, /* west */ VERB_WEST, ANY, ANY, IN, LOC_LEDGE_ON, HERE,OBJ_VALLEY_ROPEEAST, PAR, LOC_VALLEY_STEPS, NOT|IFFIGHTING,0, PAR,0, PAR,0, GOTO, DONE, NUL, NUL, /* east */ VERB_EAST, ANY, ANY, IN, LOC_VALLEY_STEPS, HERE,OBJ_LEDGE_ROPEWEST, PAR, LOC_LEDGE_ON, NOT|IFFIGHTING,0, PAR,0, PAR,0, GOTO, DONE, NUL, NUL, /* throw (rope 5) */ VERB_THROW, OBJ_LIMBO_ROPE, ANY, IN, LOC_LEDGE_ON, CHANCE,50, PAR,0, PAR,0, PAR,0, PAR,0, 252, DONE, NUL, NUL, /* throw (rope 5) */ VERB_THROW, OBJ_LIMBO_ROPE, ANY, IN, LOC_LEDGE_ON, PAR,0, PAR,0, PAR,0, PAR,0,PAR,0, 251, NUL, NUL, NUL, /* throw (rope 5) */ VERB_THROW, OBJ_LIMBO_ROPE, ANY, IN, LOC_LEDGE_ON, PAR,OBJ_LEDGE_ROPEWEST, PAR,OBJ_VALLEY_ROPEEAST, PAR,OBJ_LIMBO_ROPE, PAR,0, PAR,0, CREATE, CREATE, DESTROY, DONE, /* throw (rope 5) */ VERB_THROW, OBJ_LIMBO_ROPE, ANY, IN, LOC_VALLEY_STEPS, CHANCE,50, PAR,0, PAR,0, PAR,0, PAR,0, 252, DONE, NUL, NUL, /* throw (rope 5) */ VERB_THROW, OBJ_LIMBO_ROPE, ANY, IN, LOC_VALLEY_STEPS, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 251, NUL, NUL, NUL, /* throw (rope 5) */ VERB_THROW, OBJ_LIMBO_ROPE, ANY, IN, LOC_LEDGE_PIT, PAR,OBJ_MOOR_ROPETOPPIT, PAR,OBJ_LEDGE_ROPEBOTPIT, PAR,OBJ_LIMBO_ROPE, PAR,0, PAR,0, CREATE, CREATE, DESTROY, 257, /* throw (rope 5) */ VERB_THROW, OBJ_LIMBO_ROPE, ANY, IN, LOC_LEDGE_PIT, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, DONE, NUL, NUL, NUL, /* throw (rope 5) */ VERB_THROW, OBJ_LIMBO_ROPE, ANY, IN, LOC_MOOR_PIT, PAR,OBJ_LEDGE_ROPEBOTPIT, PAR,OBJ_MOOR_ROPETOPPIT, PAR,OBJ_LIMBO_ROPE, PAR,0, PAR,0, CREATE, CREATE, DESTROY, OK, /* throw (rope 5) */ VERB_THROW, OBJ_LIMBO_ROPE, ANY, IN, LOC_VALLEY_STEPS, PAR,OBJ_LEDGE_ROPEWEST, PAR,OBJ_VALLEY_ROPEEAST, PAR,OBJ_LIMBO_ROPE, PAR,0, PAR,0, CREATE, CREATE, DESTROY, OK, /* tie (rope 5) */ VERB_TIE, OBJ_LIMBO_ROPE, ANY, IN, LOC_MOOR_PIT, PAR,OBJ_MOOR_ROPETOPPIT, PAR,OBJ_LEDGE_ROPEBOTPIT, PAR,OBJ_LIMBO_ROPE, PAR,0, PAR,0, CREATE, CREATE, DESTROY, 258, /* tie (rope 5) */ VERB_TIE, OBJ_LIMBO_ROPE, ANY, IN, LOC_MOOR_PIT, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, DONE, NUL, NUL, NUL, /* untie (rope 1) */ VERB_UNTIE, OBJ_MOOR_ROPETOPPIT, ANY, PAR, OBJ_MOOR_ROPETOPPIT, PAR, OBJ_LEDGE_ROPEBOTPIT, PAR, OBJ_LIMBO_ROPE, PAR,OBJ_LIMBO_ROPE, PAR,FL_MYNUM, PAR,0, DESTROY, DESTROY, CREATE, CARRY, /* untie (rope 1) */ VERB_UNTIE, OBJ_MOOR_ROPETOPPIT, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, OK, NUL, NUL, NUL, /* untie (rope 2) */ VERB_UNTIE, OBJ_LEDGE_ROPEBOTPIT, ANY, PAR, OBJ_MOOR_ROPETOPPIT, PAR, OBJ_LEDGE_ROPEBOTPIT, PAR, OBJ_LIMBO_ROPE, PAR, OBJ_LIMBO_ROPE, PAR,FL_MYNUM, PAR,0, DESTROY, DESTROY, CREATE, CARRY, /* untie (rope 2) */ VERB_UNTIE, OBJ_LEDGE_ROPEBOTPIT, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, OK, NUL, NUL, NUL, /* tie (rope 3) */ VERB_UNTIE, OBJ_LEDGE_ROPEWEST, ANY, PAR, OBJ_VALLEY_ROPEEAST, PAR, OBJ_LEDGE_ROPEWEST, PAR, OBJ_LIMBO_ROPE, PAR, OBJ_LIMBO_ROPE, PAR,FL_MYNUM, PAR,0, DESTROY, DESTROY, CREATE, CARRY, /* tie (rope 3) */ VERB_UNTIE, OBJ_LEDGE_ROPEWEST, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, OK, NUL, NUL, NUL, /* untie (rope 4) */ VERB_UNTIE, OBJ_VALLEY_ROPEEAST, ANY, PAR, OBJ_VALLEY_ROPEEAST, PAR, OBJ_LEDGE_ROPEWEST, PAR, OBJ_LIMBO_ROPE, PAR, OBJ_LIMBO_ROPE, PAR,FL_MYNUM, PAR,0, DESTROY, DESTROY, CREATE, CARRY, /* untie (rope 4) */ VERB_UNTIE, OBJ_VALLEY_ROPEEAST, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, OK, NUL, NUL, NUL, /* turn (rope 3) */ VERB_TURN, OBJ_LEDGE_ROPEWEST, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 253, DONE, NUL, NUL, /* turn (rope 4) */ VERB_TURN, OBJ_VALLEY_ROPEEAST, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 253, DONE, NUL, NUL, /* down */ VERB_DOWN, ANY, ANY, IN, LOC_MOOR_PIT, HERE,OBJ_MOOR_ROPETOPPIT, PAR, LOC_LEDGE_PIT, NOT|IFFIGHTING,0, PAR,0, PAR,0, GOTO, DONE, NUL, NUL, /* up */ VERB_UP, ANY, ANY, IN, LOC_LEDGE_PIT, HERE,OBJ_LEDGE_ROPEBOTPIT, PAR, LOC_MOOR_PIT, NOT|IFFIGHTING,0, PAR,0, PAR,0, GOTO, DONE, NUL, NUL, /* get ladder */ VERB_GET, OBJ_VALLEY_LADDER2ELF, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 266, DONE, NUL, NUL, /* get ladder 1 */ VERB_GET, OBJ_TREEHOUSE_LADDER, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 266, DONE, NUL, NUL, /* get rope 1 */ VERB_GET, OBJ_MOOR_ROPETOPPIT, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 266, DONE, NUL, NUL, /* get rope 2 */ VERB_GET, OBJ_LEDGE_ROPEBOTPIT, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 266, DONE, NUL, NUL, /* get rope 3 */ VERB_GET, OBJ_LEDGE_ROPEWEST, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 266, DONE, NUL, NUL, /* get rope 4 */ VERB_GET, OBJ_VALLEY_ROPEEAST, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 266, DONE, NUL, NUL, /* setin */ VERB_SETIN, ANY, ANY, NOT|WIZ,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 204, DONE, NUL, NUL, /* setout */ VERB_SETOUT, ANY, ANY, NOT|WIZ,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 204, DONE, NUL, NUL, /* setmin */ VERB_SETMIN, ANY, ANY, NOT|WIZ,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 204, DONE, NUL, NUL, /* setmout */ VERB_SETMOUT, ANY, ANY, NOT|WIZ,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 204, DONE, NUL, NUL, /* setvin */ VERB_SETVIN, ANY, ANY, NOT|WIZ,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 204, DONE, NUL, NUL, /* setvout */ VERB_SETVOUT, ANY, ANY, NOT|WIZ,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 204, DONE, NUL, NUL, /* setqout */ VERB_SETQOUT, ANY, ANY, NOT|WIZ,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 204, DONE, NUL, NUL, /* setqin */ VERB_SETQIN, ANY, ANY, NOT|WIZ,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 204, DONE, NUL, NUL, /* setin */ VERB_SETIN, ANY, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, COM_SETIN, OK, NUL, NUL, /* setout */ VERB_SETOUT, ANY, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, COM_SETOUT, OK, NUL, NUL, /* setmin */ VERB_SETMIN, ANY, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, COM_SETMIN, OK, NUL, NUL, /* setmout */ VERB_SETMOUT, ANY, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, COM_SETMOUT, OK, NUL, NUL, /* setvin */ VERB_SETVIN, ANY, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, COM_SETVIN, OK, NUL, NUL, /* setvout */ VERB_SETVOUT, ANY, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, COM_SETVOUT, OK, NUL, NUL, /* setqin */ VERB_SETQIN, ANY, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, COM_SETQIN, OK, NUL, NUL, /* setqout */ VERB_SETQOUT, ANY, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, COM_SETQOUT, OK, NUL, NUL, /* dig */ VERB_DIG, ANY, ANY, HERE,OBJ_LEDGE_TUNNWEST, STATE,OBJ_LEDGE_TUNNWEST, NUL,1, PAR,OBJ_LEDGE_TUNNWEST, PAR,0, PAR,0, SETSTATE, 256, DONE, NUL, /* dig */ VERB_DIG, ANY, ANY, HERE,OBJ_LEDGE_TUNNEAST, STATE,OBJ_LEDGE_TUNNEAST, NUL,1, PAR,OBJ_LEDGE_TUNNEAST, PAR,0, PAR,0, SETSTATE, 256, DONE, NUL, /* dig */ VERB_DIG, ANY, ANY, DESTROYED,OBJ_CHURCH_SLAB_TOP, IN,LOC_CHURCH_T_BARROW, PAR,OBJ_CHURCH_SLAB_TOP, PAR,0, PAR,0, PAR,0, 200, CREATE, DONE, NUL, /* dig */ VERB_DIG, ANY, ANY, HERE,OBJ_OAKTREE_TOPFOXHOLE, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 259, DONE, NUL, NUL, /* dig OBJECT */ /* VERB_DIG, ANY, ANY, HERE,OBJ_TOWER_HOLE7, STATE,OBJ_TOWER_HOLE7, NUL,1, PAR,OBJ_TOWER_HOLE7, PAR,0, PAR,0, 276, DEC, DONE, NUL, */ /* dig OBJECT */ /* VERB_DIG, ANY, ANY, HERE,OBJ_TOWER_HOLE8, STATE,OBJ_TOWER_HOLE8, NUL,1, PAR,OBJ_TOWER_HOLE8, PAR,77, PAR,0, DEC, QUIT, NUL, NUL, */ /*---------------------------------------------------------------------------*/ /* dig failed (widen hole) */ VERB_DIG, ANY, ANY, NOT|HERE,OBJ_ICECAVE_HOLE_G_HALL, NOT|HERE,OBJ_ICECAVE_HOLE_SNOW_CAVE, PAR,0, PAR,0, PAR,0, PAR,0, 201, DONE, NUL, NUL, /* dig with OBJECT */ VERB_DIG, ANY, OB, OBIT,FL_OB2, NUL,OFL_WEAPON, STATE,OBJ_ICECAVE_HOLE_G_HALL, NUL,1, PAR,OBJ_ICECAVE_HOLE_G_HALL, PAR,0, 203, DEC, DONE, NUL, /* dig OBJECT */ VERB_DIG, OB, ANY, OBIT,FL_OB1, NUL,OFL_WEAPON, STATE,OBJ_ICECAVE_HOLE_G_HALL, NUL,1, PAR,OBJ_ICECAVE_HOLE_G_HALL, PAR,0, 203, DEC, DONE, NUL, /* dig */ VERB_DIG, ANY, ANY, STATE,OBJ_ICECAVE_HOLE_G_HALL, NUL,0, PAR,0, PAR,0, PAR,0, PAR,0, 202, DONE, NUL, NUL, /*---------------------------------------------------------------------------*/ /* dig */ VERB_DIG, ANY, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 254, DONE, NUL, NUL, /* open tree */ VERB_OPEN, OBJ_FOREST_TREEEATING, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 238, DONE, NUL, NUL, /* open tree 1 */ VERB_OPEN, OBJ_FOREST_INSIDETREE, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 238, DONE, NUL, NUL, /* light tree 1 */ VERB_LIGHT, OBJ_FOREST_INSIDETREE, ANY, HASANY,OFL_LIT, PAR,OBJ_FOREST_TREEEATING, PAR, LOC_FOREST_F4, PAR,100, PAR,0, PAR,0, 239, DESTROY, GOTO, GAIN, /* tickle tree 1 */ VERB_TICKLE, OBJ_FOREST_INSIDETREE, ANY, PAR,OBJ_FOREST_TREEEATING, PAR, LOC_FOREST_F4, PAR,100, PAR,0, PAR,0, PAR,0, 246, DESTROY, GOTO, GAIN, /* light tree 1 */ VERB_LIGHT, OBJ_FOREST_INSIDETREE, ANY, HASANY,OFL_LIT, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, DONE, NUL, NUL, NUL, /* pet ottimo */ VERB_PET, P(MOB_OAKTREE_OTTIMO), ANY, PHERE,P(MOB_OAKTREE_OTTIMO), PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 269, DONE, NUL, NUL, /* jump from lower ledge with umbrella */ VERB_JUMP, ANY, ANY, IN,LOC_CATACOMB_SLEDGE2, GOT,OBJ_START_UMBRELLA, PAR,LOC_CATACOMB_CAVERN, PAR,0, PAR,0, PAR,0, 270, GOTO, DONE, NUL, /* jump from lower ledge with umbrella */ VERB_JUMP, ANY, ANY, IN,LOC_CATACOMB_NLEDGE2, GOT,OBJ_START_UMBRELLA, PAR,LOC_CATACOMB_CAVERN, PAR,0, PAR,0, PAR,0, 270, GOTO, DONE, NUL, /* jump from upper ledge */ VERB_JUMP, ANY, ANY, IN,LOC_CATACOMB_SLEDGE1, PAR,LOC_CATACOMB_CHASM1, PAR,0, PAR,0, PAR,0, PAR,0, 271, GOTO, DONE, NUL, /* jump from upper ledge */ VERB_JUMP, ANY, ANY, IN,LOC_CATACOMB_NLEDGE1, PAR,LOC_CATACOMB_CHASM2, PAR,0, PAR,0, PAR,0, PAR,0, 271, GOTO, DONE, NUL, /* jump from lower ledge */ VERB_JUMP, ANY, ANY, IN,LOC_CATACOMB_SLEDGE2, PAR,LOC_CATACOMB_CHASM1, PAR,0, PAR,0, PAR,0, PAR,0, 272, GOTO, DONE, NUL, /* jump from lower ledge */ VERB_JUMP, ANY, ANY, IN,LOC_CATACOMB_NLEDGE2, PAR,LOC_CATACOMB_CHASM2, PAR,0, PAR,0, PAR,0, PAR,0, 272, GOTO, DONE, NUL, /* look */ VERB_LOOK, ANY, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, COM_LOOK, DONE, NUL, NUL, /* inv */ VERB_INVENTORY, ANY, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, COM_INVEN, DONE, NUL, NUL, /* inv */ VERB_INVENTORY, ANY, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, COM_WHO, DONE, NUL, NUL, /* summon */ VERB_SUMMON, ANY, ANY, IN, LOC_FOREST_INTREE, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 234, DONE, NUL, NUL, /* shout */ VERB_SHOUT, ANY, ANY, IFDUMB,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 207, DONE, NUL, NUL, /* say */ VERB_SAY, ANY, ANY, IFDUMB,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 207, DONE, NUL, NUL, /* tell */ VERB_TELL, ANY, ANY, IFDUMB,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 207, DONE, NUL, NUL, /* shout */ VERB_SHOUT, ANY, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, COM_SHOUT, OK, NUL, NUL, /* say */ VERB_SAY, ANY, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, COM_SAY, OK, NUL, NUL, /* tell */ VERB_TELL, ANY, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, COM_TELL, OK, NUL, NUL, /* score */ VERB_SCORE, ANY, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, COM_SCORE, DONE, NUL, NUL, /* put */ /*VERB_PUT, OBJ_START_UMBRELLA, ANY, STATE,1, NUL,1, PAR,0, PAR,0, PAR,0, PAR,0, 232, DONE, NUL, NUL, */ /* open floorboards */ VERB_OPEN, OBJ_VILLAGE_TOP_BOARDS, ANY, STATE,OBJ_VILLAGE_TOP_BOARDS, NUL,1, PAR,OBJ_VILLAGE_TOP_BOARDS, PAR,0, PAR,0, PAR,0, 229, SETSTATE, DONE, NUL, /* open */ VERB_OPEN, OBJ_VILLAGE_BOT_BOARDS, ANY, STATE,OBJ_VILLAGE_BOT_BOARDS, NUL,1, PAR,OBJ_VILLAGE_BOT_BOARDS, PAR,0, PAR,0, PAR,0, 229, SETSTATE, DONE, NUL, /* open */ VERB_PUSH, OBJ_VILLAGE_TOP_BOARDS, ANY, STATE,OBJ_VILLAGE_TOP_BOARDS, NUL,1, PAR,OBJ_VILLAGE_TOP_BOARDS, PAR,0, PAR,0, PAR,0, 229, SETSTATE, DONE, NUL, /* open */ VERB_PUSH, OBJ_VILLAGE_BOT_BOARDS, ANY, STATE,OBJ_VILLAGE_BOT_BOARDS, NUL,1, PAR,OBJ_VILLAGE_BOT_BOARDS, PAR,0, PAR,0, PAR,0, 229, SETSTATE, DONE, NUL, /* open */ VERB_OPEN, OBJ_TOWER_DOOR_SHAZARETH, ANY, STATE,OBJ_TOWER_DOOR_SHAZARETH, NUL,0, PAR,0, PAR,0, PAR,0, PAR,0, 210, DONE, NUL, NUL, /* open */ VERB_OPEN, OBJ_TOWER_DOOR_SHAZARETH, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 209, DONE, NUL, NUL, /* open */ VERB_OPEN, OBJ_START_UMBRELLA, ANY, STATE,OBJ_START_UMBRELLA, NUL,1, PAR,0, PAR,0, PAR,0, PAR,0, 210, DONE, NUL, NUL, /* open */ VERB_OPEN, OBJ_START_UMBRELLA, ANY, PAR,OBJ_START_UMBRELLA, PAR,1, PAR,0, PAR,0, PAR,0, PAR,0, SETSTATE, 211, DONE, NUL, /* open */ VERB_OPEN, OBJ_TOWER_DOOR_TREASURE, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 212, DONE, NUL, NUL, /* open (can't open) */ VERB_OPEN, OB, ANY, NOT|OBIT,FL_OB1, NUL,OFL_OPENABLE, PAR,0, PAR,0, PAR,0, PAR,0, 213, DONE, NUL, NUL, /* open */ VERB_OPEN, OB, ANY, STATE,FL_OB1, NUL,0, PAR,0, PAR,0, PAR,0, PAR,0, 214, DONE, NUL, NUL, /* open x with key */ VERB_OPEN, OB, ANY, STATE,FL_OB1, NUL,2, HASANY,OFL_KEY, PAR,FL_OB1, NUL,0, PAR,0, SETSTATE, OK, NUL, NUL, /* open (locked) */ VERB_OPEN, OB, ANY, STATE,FL_OB1, NUL,2, PAR,0, PAR,0, PAR,0, PAR,0, 215, DONE, NUL, NUL, /* open */ VERB_OPEN, OB, ANY, PAR,FL_OB1, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, DEC, OK, NUL, NUL, /* open fails */ VERB_OPEN, ANY, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 213, DONE, NUL, NUL, /* close */ VERB_CLOSE, OBJ_START_UMBRELLA, ANY, STATE,OBJ_START_UMBRELLA, NUL,0, PAR,0, PAR,0, PAR,0, PAR,0, 216, DONE, NUL, NUL, /* close */ VERB_CLOSE, OBJ_START_UMBRELLA, ANY, PAR,OBJ_START_UMBRELLA, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, SETSTATE, OK, NUL, NUL, /* close */ VERB_CLOSE, OB, ANY, NOT|OBIT,FL_OB1, NUL,2, PAR,0, PAR,0, PAR,0, PAR,0, 217, DONE, NUL, NUL, /* close */ VERB_CLOSE, OB, ANY, NOT|STATE,FL_OB1, NUL,0, PAR,0, PAR,0, PAR,0, PAR,0, 218, DONE, NUL, NUL, /* close */ VERB_CLOSE, OB, ANY, PAR,FL_OB1, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, INC, OK, NUL, NUL, /* lock */ VERB_LOCK, OB, ANY, NOT|HASANY,OFL_KEY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 222, DONE, NUL, NUL, /* lock */ VERB_LOCK, OB, ANY, NOT|OBIT,FL_OB1, NUL,3, PAR,0, PAR,0, PAR,0, PAR,0, 223, DONE, NUL, NUL, /* lock */ VERB_LOCK, OB, ANY, STATE,FL_OB1, NUL,2, PAR,0, PAR,0, PAR,0, PAR,0, 224, DONE, NUL, NUL, /* lock */ VERB_LOCK, OB, ANY, PAR,FL_OB1, PAR,2, PAR,0, PAR,0, PAR,0, PAR,0, SETSTATE, OK, NUL, NUL, /* unlock */ VERB_UNLOCK, OB, ANY, NOT|HASANY,OFL_KEY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 222, DONE, NUL, NUL, /* unlock */ VERB_UNLOCK, OB, ANY, NOT|OBIT,FL_OB1, NUL,3, PAR,0, PAR,0, PAR,0, PAR,0, 226, DONE, NUL, NUL, /* unlock */ VERB_UNLOCK, OB, ANY, NOT|STATE,FL_OB1, PAR,2, PAR,0, PAR,0, PAR,0, PAR,0, 225, DONE, NUL, NUL, /* unlock */ VERB_UNLOCK, OB, ANY, PAR,FL_OB1, PAR,1, PAR,0, PAR,0, PAR,0, PAR,0, SETSTATE, OK, NUL, NUL, /* dragon code; icy dagger */ VERB_HIT, P(MOB_CAVE_DRAGON), OBJ_ICECAVE_DAGGER, PHERE,P(MOB_CAVE_DRAGON),GOT,OBJ_ICECAVE_DAGGER, PAR,P(MOB_CAVE_DRAGON), PAR, 1000, PAR, 300, PAR,0, 221, WOUNDMON, GAIN, DONE, /* hit dragon */ VERB_HIT, P(MOB_CAVE_DRAGON), NONE, WPN,OBJ_ICECAVE_DAGGER, PAR,P(MOB_CAVE_DRAGON), PAR,1000, PAR,300, PHERE,P(MOB_CAVE_DRAGON), PAR,0, 221, WOUNDMON, GAIN, DONE, /* read (bone) */ VERB_READ, OBJ_ISLAND_BONE, ANY, IN, LOC_BLIZZARD_HUT, PAR, LOC_LABYRINTH_K, PAR,0, PAR,0, PAR,0, PAR,0, GOTO, 220, DONE, NUL, /* read (bone) */ VERB_READ, OBJ_ISLAND_BONE, ANY, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 219, DONE, NUL, NUL, /* hit the bell; bong! */ VERB_HIT, OBJ_VILLAGE_BELL, ANY, PAR,28, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, BROAD, DONE, NUL, NUL, /* ring the bell; bong! */ VERB_RING, OBJ_VILLAGE_BELL, ANY, PAR,28, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, BROAD, DONE, NUL, NUL, /* hit pebble */ VERB_HIT, OBJ_VILLAGE_PEBBLE, ANY, PAR,OBJ_VILLAGE_PEBBLE, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 231, DESTROY, DONE, NUL, /* sit on throne */ VERB_SIT, OBJ_ICECAVE_WESTICETHRONE, ANY, PAR,OBJ_ICECAVE_WESTICETHRONE, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 273, SETSTATE, DONE, NUL, /* NUL entry */ -1, 0, 0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 0, 0, 0, 0, }; /* ** Interrupts (called every two seconds via alarm). */ LINE inter[] = { /* Random "floorboards squeek" message in cellar */ 0, ANY, ANY, HERE,OBJ_VILLAGE_TOP_BOARDS, CHANCE,10, PAR,0, PAR,0, PAR,0, PAR,0, 527, DONE, NUL, NUL, /* Occasionally display "Fox barks" message at fox hole */ 0, ANY, ANY, HERE,OBJ_OAKTREE_TOPFOXHOLE, CHANCE,10, PAR,0, PAR,0, PAR,0, PAR,0, 567, DONE, NUL, NUL, -1, 0, 0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 0, 0, 0, 0 }; /* ** Status (called after each action is done). */ LINE status[] = { /* If Ottimo's by the fox hole and has a witness, dig it up */ 0, ANY, ANY, HERE,OBJ_OAKTREE_TOPFOXHOLE, PHERE,P(MOB_OAKTREE_OTTIMO), STATE,OBJ_OAKTREE_TOPFOXHOLE, NUL,1, PAR,OBJ_OAKTREE_TOPFOXHOLE, PAR,0, 550, SETSTATE, NUL, NUL, /* Crack the altar if the cross is brought near it */ 0, ANY, ANY, HERE,OBJ_MOOR_ALTAR, AVL,OBJ_CHURCH_CROSS, NOT|WIZ,0, PAR,OBJ_MOOR_ALTAR, PAR,100, PAR,0, DESTROY, GAIN, 563, DONE, -1, 0, 0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, PAR,0, 0, 0, 0, 0, 0 };