cdirt/ascii/
cdirt/data/BULL/
cdirt/data/ZONES/PENDING/
cdirt/pending/
cdirt/src/utils/
cdirt/utils/
/* here is where all of the specials are when a mobile dies */
switch (pnum(victim)) {

#ifdef LOCMIN_COTTAGE
case MOB_COTTAGE_RAMSES:
     sendf(attacker, "You have destroyed the evil Pharaoh Ramses the IV!\n");
     set_quest(attacker, Q_RAMSES);
     break;
#endif

#ifdef LOCMIN_RUINS
case MOB_RUINS_MARGOYLE: 
      sendf(attacker, "As the monster collapses over, his horn falls off.\n");
      setoloc (OBJ_RUINS_HORN, ploc (attacker), IN_ROOM);
break;    
#endif

#ifdef LOCMIN_NIBELUNG
case MOB_NIBELUNG_FAFFNER: 
	sendf(attacker,"Faffner is DEAD!  R.I.P.!!!\n");
        set_quest(attacker, Q_FAFFNER);
break;   
#endif 

#ifdef LOCMIN_DOOM
case MOB_DOOM_DOOM: 
    sendf(attacker,"Doom is DEAD!  R.I.P.!!!\n");
    set_quest(attacker, Q_DOOM);
    break;   
#endif

#ifdef LOCMIN_ROME
case MOB_ROME_JUPITER:
    sendf(attacker, "Jupiter is DEAD!  R.I.P.!!!\n");
    set_quest(attacker, Q_JUPITER);
    break;
#endif

#ifdef LOCMIN_FANTASY
case MOB_FANTASY_SILVERMONSTER: 
      sendf (attacker, "The wall to the west suddenly collapses as the "
             "monster lets out its\nlast breath..\n");
      setobjstate (OBJ_FANTASY_CAVEWALLOUT, 0);
break;    

case MOB_FANTASY_JULIUS: 
      sendf (attacker, "You grab Julius and order him to tell you where "
             "Lord Glaive is as he\nlets out his last breath.. "
             "Julius waves his hands and you start to\nfeel faint.. you "
             "awaken finding yourself in a different place..\n");
      setploc (attacker, LOC_FANTASY_TREE1);
      setup_globals (attacker);
      trapch (ploc (attacker));
      setup_globals (victim);
break;     
#endif

#ifdef LOCMIN_CAVE
case MOB_CAVE_DIAMAR: 
  if (iswornby(OBJ_CAVE_WHISTLE, max_players+MOB_CAVE_DIAMAR)) {
    sendl(ploc(victim), "%s crushes the whistle as he falls to the floor.\n",
          pname(victim));
    destroy(OBJ_CAVE_WHISTLE); }
    break;  

case MOB_CAVE_KEEPER:
  if (ploc(max_players+MOB_CAVE_KEEPER) == LOC_CAVE_ARMORY) {
    sendl(ploc(victim), "The Keeper heaves his last breath as he falls against"
          " the north wall,\ncausing it to shift.\n");
       setobjstate(OBJ_CAVE_HOLE, 0);  }
    break;
#endif

#ifdef LOCMIN_VOLCANO
case MOB_VOLCANO_QUEEN:  {
sendf(attacker, "\nBy killing the Queen, you have ended her reign of terror "
	      "and freed the people\nof Yorrin!\n" );
      set_quest( attacker, Q_VOLCANO );
	break;
    }
#endif

#ifdef LOCMIN_PYRAMID
case MOB_PYRAMID_NEFERTERI:  {
    sendf(attacker, "Through courage and a bravery of spirit, you have overcome the &+Lcurse&N\nof Neferteri.\n" );
    broad( "&+BThe people in the desert rejoice as the &+Lcurse &+Bof Neferteri is lifted from\n&+Bthe lands forever.\n" );
    set_quest( attacker, Q_MIRAGE ); 
    break;
  }
#endif

#ifdef LOCMIN_OAKTREE
case MOB_OAKTREE_SAPLING:  {
      send_msg(sendloc(attacker), 0, LVL_MIN, LVL_MAX, NOBODY, NOBODY,
        "The Sapling bursts into flames and crumbles to ashes.\n"
        "A silvery object falls to the ground.\n");
      create(OBJ_OAKTREE_SPIKE);
      setoloc(OBJ_OAKTREE_SPIKE, ploc(attacker), IN_ROOM);
      break;
    }
#endif

#ifdef LOCMIN_THYRANNEN
case MOB_THYRANNEN_DRAKNOR:
      if (pscore (max_players+MOB_THYRANNEN_BROTHER1) == attacker &&
        pscore (max_players+MOB_THYRANNEN_BROTHER2) == attacker) {
        sendf(attacker, "With a hateful look on his face \001p%s\003 tells you "
             "'Power such as mine is\nincomprehensible to the likes of you.  "
             "I will return, and make you learn what\nPAIN is!'\n",
             pname(victim));
        send_msg(sendloc(attacker), 0, LVL_MIN, LVL_MAX, attacker, victim,
                "As \001p%s\003 delivers the killing blow to \001p%s\003, "
                "\001p%s\003 curses \001p%s\003 with unending pain in "
                "\001p%s\003's next life\n",
                pname(attacker), pname(victim), pname(victim),
                pname(attacker), his_or_her(attacker));
        set_quest (attacker, Q_DRAKNOR);  }
      else { 
         sendf(attacker, "Draknor laughs, and disappears in a wall of "
                         "flame.\nIt seems you have unwittingly allowed "
                         "Draknor a means to escape...for now.\n"); 
      }
	break;
#endif

#ifdef LOCMIN_ABYSS
case MOB_ABYSS_GUXX:  {
      sendf(attacker, "Guxx is DEAD!  R.I.P.!!!\n");
      set_quest (attacker, Q_GUXX);   
	break;  }
#endif


default:   /* These go in default, cause they're handled very differently. */
#ifdef LOCMIN_EFOREST  
    if ((q = victim - max_players) == MOB_EFOREST_LICH)
      x = max_players + MOB_EFOREST_ASMODEUS;
    else if (q == MOB_EFOREST_ASMODEUS)
      x = max_players + MOB_EFOREST_LICH;
    else
      x = -1;
    if (x >= 0) {
      if (alive (x) == -1) {
        send_msg(DEST_ALL, MODE_NODEAF, LVL_MIN, LVL_MAX, NOBODY, NOBODY,
                  "A Great Evil has departed from the land.\n");
        if (pscore (x) == attacker) {
          sendf(attacker, "You have avenged the Elven Forest!\n");
          set_quest (attacker, Q_EFOREST);
        }
      }
    }
#endif

#ifdef LOCMIN_ZODIAC
  if ( (q = victim - max_players) == MOB_ZODIAC_INFINITY) 
     x = max_players +MOB_ZODIAC_ETERNITY;
  else if ( (q = MOB_ZODIAC_ETERNITY) )
     x = max_players + MOB_ZODIAC_INFINITY;
  else  x = -1;
  if( x>=0 ){
      if( alive (x) == -1 && pscore(x) ==attacker){
        set_quest(attacker, Q_ZODIAC);
      }
  }
#endif

break;
} /* end of switch statement */