switch (a) { #ifdef LOCMIN_CHLYON case OBJ_CHLYON_FORGE: if (iscontin(OBJ_CHLYON_STONE_FIRESTONE, OBJ_CHLYON_FORGE) && iscontin(OBJ_CAVE_CLAYMORE, OBJ_CHLYON_FORGE)) { bprintf("The firestone and the claymore melt together.\n" "Moments later, the forge is engulfed in a blue force field and\n" "the fire goes out...\n"); setoloc(OBJ_CHLYON_FIREBLADE, OBJ_CHLYON_FORGE, IN_CONTAINER); destroy(OBJ_CHLYON_STONE_FIRESTONE); destroy(OBJ_CAVE_CLAYMORE); set_quest(mynum, Q_CHLYON); } else { bprintf("The forge doesn't ignite.\n"); } return; break; #endif default: break; } #ifdef LOCMIN_PIRATE if (a == OBJ_PIRATE_KEG) { if (ocarrf(a) >= CARRIED_BY) { bprintf( "As you light the keg, you belatedly realize that you are" "still holding it.\n" ); bprintf( "When the keg explodes, a piece of wood is driven deep within " "your heart.\n" ); send_msg(sendloc(mynum), MODE_NOBLIND, pvis(mynum), LVL_MAX, mynum, NOBODY, "As %s lights the keg, %s belatedly realizes " "that %s are still holding\n" "it. When the keg explodes, a piece of wood is driven deep " "within %s heart!\n", pname(mynum), psex(mynum) ? "she" : "he", psex(mynum) ? "she" : "he", psex(mynum) ? "her" : "his" ); quit_player(False); broad( "You hear an explosion in the distance followed by a muffled scream.\n" ); quit_msg("Sorry, you seem to have died", "Impaled by an Exploding Keg"); destroy(OBJ_PIRATE_KEG); return; } send_msg(sendloc(mynum), MODE_NOBLIND, pvis(mynum), LVL_MAX, mynum, NOBODY, "%s lights the keg.\n", pname(mynum)); if (oloc(a) == LOC_PIRATE_PIRATE30) /* blow up boulder */ { send_msg(int2idx(oloc(a), LOC), 0, LVL_MIN, LVL_MAX, NOBODY, NOBODY, "The explosion shatters the boulder!\n"); setobjstate(OBJ_PIRATE_BOULDER1, 0); } destroy(OBJ_PIRATE_KEG); bprintf("You are hurt by the flying pieces of debris!\n"); if (pstr(mynum) <= 10) /* Do 10 points damage at most but do NOT kill */ { setpstr(mynum, 1); } else { setpstr(mynum, (pstr(mynum) - 10)); } return; } #endif /* PIRATE ZONE */ #ifdef LOCMIN_CATHEDRAL if (a == OBJ_CATHEDRAL_SARCOPHAGUS) { if (!otstbit(OBJ_CATHEDRAL_SARCOPHAGUS, OFL_LIT)) { bprintf("You set the sarcophagus a fire!\n"); send_msg(sendloc(mynum), 0, LVL_MIN, LVL_MAX, mynum, NOBODY, "\001p%s\003 sets the sarcophagus a blaze!\n", pname(mynum)); send_msg(int2idx(LOC_CATHEDRAL_CRYPTENT, LOC), 0, LVL_MIN, LVL_MAX, NOBODY, NOBODY, "The door to the west magically opens.\n"); osetbit(OBJ_CATHEDRAL_SARCOPHAGUS, OFL_LIT); setobjstate(OBJ_CATHEDRAL_SARCOPHAGUS, 0); setobjstate(OBJ_CATHEDRAL_DOOR_CRYPT, 0); return; } else { bprintf("The sarcophagus is already lit!\n"); return; } } #endif