#include <unistd.h> #include "kernel.h" #include "locations.h" #include "objects.h" #include "mobiles.h" #include "sflags.h" #include "pflags.h" #include "oflags.h" #include "lflags.h" #include "cflags.h" #include "quests.h" #include "sendsys.h" #include "levels.h" #include "commands.h" #include "rooms.h" #include "objsys.h" #include "mobile.h" #include "flags.h" #include "bprintf.h" #include "parse.h" #include "uaf.h" #include "clone.h" #include "acct.h" #include "mud.h" extern char *MLevels[]; extern char *FLevels[]; /* ** Tie and Untie replace database.c stuff. By Vitastjern 1993 */ void tiecom(void) { if (brkword() == -1) { bprintf("Tie what?\n"); return; } switch (ob1) { case OBJ_LIMBO_ROPE: switch (ploc(mynum)) { case LOC_TREEHOUSE_PORCH: case LOC_VALLEY_ESIDE: if (state(OBJ_VALLEY_LADDER2ELF) == 0) { bprintf("Why? There is already a rope there!\n"); break; } setobjstate(OBJ_TREEHOUSE_LADDER, 0); destroy(OBJ_LIMBO_ROPE); bprintf("You tie the rope to the tree.\n"); break; case LOC_LEDGE_PIT: case LOC_MOOR_PIT: if (state(OBJ_LEDGE_ROPEBOTPIT) == 0) { bprintf("Why? There is already a rope there!\n"); break; } oclrbit(OBJ_LEDGE_ROPEBOTPIT, OFL_DESTROYED); oclrbit(OBJ_MOOR_ROPETOPPIT, OFL_DESTROYED); setobjstate(OBJ_LEDGE_ROPEBOTPIT, 0); destroy(OBJ_LIMBO_ROPE); bprintf("You tie the rope to the pit.\n"); break; #ifdef LOCMIN_ABYSS case LOC_ABYSS_L664: case LOC_ABYSS_L665: if (state(OBJ_ABYSS_L664ROPE) == 0) { bprintf("Why? There is already a rope there!\n"); break; } setobjstate(OBJ_ABYSS_L664ROPE, 0); destroy(OBJ_LIMBO_ROPE); bprintf("You tie the rope over the gap.\n"); break; #endif default: bprintf("You have nothing to tie the rope to.\n"); break; } break; #ifdef LOCMIN_ABYSS case OBJ_ABYSS_ROPE: switch (ploc(mynum)) { case LOC_TREEHOUSE_PORCH: case LOC_VALLEY_ESIDE: if (state(OBJ_VALLEY_LADDER2ELF) == 0) { bprintf("Why? There is already a rope there!\n"); break; } setobjstate(OBJ_TREEHOUSE_LADDER, 0); destroy(OBJ_ABYSS_ROPE); bprintf("You tie the rope to the tree.\n"); break; case LOC_LEDGE_PIT: case LOC_MOOR_PIT: if (state(OBJ_LEDGE_ROPEBOTPIT) == 0) { bprintf("Why? There is already a rope there!\n"); break; } setobjstate(OBJ_LEDGE_ROPEBOTPIT, 0); destroy(OBJ_ABYSS_ROPE); bprintf("You tie the rope to the pit.\n"); break; case LOC_ABYSS_L664: case LOC_ABYSS_L665: if (state(OBJ_ABYSS_L664ROPE) == 0) { bprintf("Why? There is already a rope there!\n"); break; } setobjstate(OBJ_ABYSS_L664ROPE, 0); destroy(OBJ_ABYSS_ROPE); bprintf("You tie the rope over the gap.\n"); break; default: bprintf("You have nothing to tie the rope to.\n"); break; } break; #endif default: bprintf("You cannot tie that!\n"); break; } return; }