nightmare3_fluffos_v2/
nightmare3_fluffos_v2/bin/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/ChangeLog.old/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/Win32/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/compat/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/compat/simuls/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/include/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/testsuite/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/testsuite/clone/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/testsuite/command/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/testsuite/data/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/testsuite/etc/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/testsuite/include/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/testsuite/inherit/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/testsuite/inherit/master/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/testsuite/log/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/testsuite/single/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/testsuite/single/tests/compiler/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/testsuite/single/tests/efuns/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/testsuite/single/tests/operators/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/testsuite/u/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/tmp/
nightmare3_fluffos_v2/fluffos-2.9-ds2.08/windows/
nightmare3_fluffos_v2/lib/cmds/ambassador/
nightmare3_fluffos_v2/lib/cmds/database/
nightmare3_fluffos_v2/lib/cmds/hm/
nightmare3_fluffos_v2/lib/cmds/soul/
nightmare3_fluffos_v2/lib/daemon/cfg/
nightmare3_fluffos_v2/lib/daemon/cfg/mon_races/
nightmare3_fluffos_v2/lib/daemon/cfg/races/
nightmare3_fluffos_v2/lib/daemon/include/
nightmare3_fluffos_v2/lib/daemon/save/
nightmare3_fluffos_v2/lib/daemon/services/
nightmare3_fluffos_v2/lib/daemon/soul/
nightmare3_fluffos_v2/lib/doc/
nightmare3_fluffos_v2/lib/doc/TestPlans/
nightmare3_fluffos_v2/lib/doc/approval/
nightmare3_fluffos_v2/lib/doc/approval/QC/
nightmare3_fluffos_v2/lib/doc/approval/balance/
nightmare3_fluffos_v2/lib/doc/build/
nightmare3_fluffos_v2/lib/doc/build/armours/
nightmare3_fluffos_v2/lib/doc/build/economy/
nightmare3_fluffos_v2/lib/doc/build/etc/
nightmare3_fluffos_v2/lib/doc/build/monster/
nightmare3_fluffos_v2/lib/doc/build/room/
nightmare3_fluffos_v2/lib/doc/build/virtual/
nightmare3_fluffos_v2/lib/doc/build/weapon/
nightmare3_fluffos_v2/lib/doc/classes/
nightmare3_fluffos_v2/lib/doc/efun/
nightmare3_fluffos_v2/lib/doc/etc/
nightmare3_fluffos_v2/lib/doc/help/creator/
nightmare3_fluffos_v2/lib/doc/help/hm/
nightmare3_fluffos_v2/lib/doc/law/
nightmare3_fluffos_v2/lib/doc/lpc/basic/
nightmare3_fluffos_v2/lib/doc/lpc/data_types/
nightmare3_fluffos_v2/lib/doc/lpc/etc/
nightmare3_fluffos_v2/lib/doc/lpc/intermediate/
nightmare3_fluffos_v2/lib/doc/lpc/types/
nightmare3_fluffos_v2/lib/doc/mudlib/
nightmare3_fluffos_v2/lib/doc/mudlib/features/
nightmare3_fluffos_v2/lib/domains/Examples/etc/
nightmare3_fluffos_v2/lib/domains/Examples/room/
nightmare3_fluffos_v2/lib/domains/Examples/virtual/
nightmare3_fluffos_v2/lib/domains/Examples/virtual/exaA/
nightmare3_fluffos_v2/lib/domains/Examples/virtual/exaB/
nightmare3_fluffos_v2/lib/domains/Examples/weapon/
nightmare3_fluffos_v2/lib/domains/Praxis/
nightmare3_fluffos_v2/lib/domains/Praxis/adm/
nightmare3_fluffos_v2/lib/domains/Praxis/attic/
nightmare3_fluffos_v2/lib/domains/Praxis/cemetary/
nightmare3_fluffos_v2/lib/domains/Praxis/cemetary/mon/
nightmare3_fluffos_v2/lib/domains/Praxis/data/
nightmare3_fluffos_v2/lib/domains/Praxis/death/
nightmare3_fluffos_v2/lib/domains/Praxis/mountains/
nightmare3_fluffos_v2/lib/domains/Praxis/obj/armour/
nightmare3_fluffos_v2/lib/domains/Praxis/obj/magic/
nightmare3_fluffos_v2/lib/domains/Praxis/obj/weapon/
nightmare3_fluffos_v2/lib/domains/Praxis/orc_valley/
nightmare3_fluffos_v2/lib/domains/Praxis/quests/
nightmare3_fluffos_v2/lib/domains/Praxis/standardOld/
nightmare3_fluffos_v2/lib/include/
nightmare3_fluffos_v2/lib/log/
nightmare3_fluffos_v2/lib/log/errors/
nightmare3_fluffos_v2/lib/log/reports/
nightmare3_fluffos_v2/lib/log/watch/
nightmare3_fluffos_v2/lib/news/
nightmare3_fluffos_v2/lib/secure/cfg/
nightmare3_fluffos_v2/lib/secure/cmds/ambassador/
nightmare3_fluffos_v2/lib/secure/cmds/mortal/
nightmare3_fluffos_v2/lib/secure/save/users/d/
nightmare3_fluffos_v2/lib/secure/std/
nightmare3_fluffos_v2/lib/std/hm/
nightmare3_fluffos_v2/lib/std/living/
nightmare3_fluffos_v2/lib/std/room/
nightmare3_fluffos_v2/lib/std/user/
nightmare3_fluffos_v2/lib/std/virtual/
nightmare3_fluffos_v2/lib/www/
nightmare3_fluffos_v2/lib/www/errors/
nightmare3_fluffos_v2/lib/www/gateways/
nightmare3_fluffos_v2/win32/
// /bin/skills/_limbs.c
// From the Nightmare Mudlib
// A cleric, monk, kataan spell to determine the body damage of others.
// By Gregon@Nightmare
 
 
#include <std.h>
 
inherit DAEMON;
 
 
int cmd_limbs(string str){
   string name, *limbs;
   object ob, tp;
   int x, i, *dam, maxdam;
 
   if(!str){
     notify_fail("Correct syntax: limbs [whom]\n");
     return 0;
   }
   
   tp=this_player();
 
   if((string)tp->query_class()!="kataan" && (string)tp->query_class()!="monk"
      && (string)tp->query_class()!="cleric"){
        notify_fail("Only people of high faith may perform this action.\n");
        return 0;
   }
 
   x=(int)this_player()->query_skill("faith");
   if(x<20){
     notify_fail("You are not yet faithful enough to do that.\n");
     return 0;}
   
   if((int)tp->query_mp()<20){
     notify_fail("You do not have the magic strength to do that right now.\n");
     return 0;
   }
 
   ob=find_living(str);
   if(!ob || !present(ob,environment(this_player()))){
     notify_fail(capitalize(str)+" is not here.\n");
     return 0;
   }
   
   if(ob->query_ghost()){
     notify_fail("That player has no limbs at all!\n");
     return 0;
   }
 
   tp->add_mp(-20);
   if((string)tp->query_class()=="kataan")
     say(tp->query_cap_name()+" begins to pray to the demons of the "
         "underworld for guidance.");
   else say(tp->query_cap_name()+" utters a request for divine guidance.");
 
   if(x-random(51)<0){
     write("Your prayers for guidance are not heard.");
     return 1;
   }
   tp->add_skill_points("faith",10);
   dam=allocate(i=sizeof(limbs=(string *)ob->query_limbs()));
   while(i--){
     dam[i]=to_int(percent((int)ob->query_dam(limbs[i]),
               (int)ob->query_max_dam(limbs[i])));
     if(dam[i]>dam[maxdam])
        maxdam=i;
     }
   name=(string)ob->query_cap_name();
   if(!dam[maxdam]){
      write(name+" has minimal body damage.");
      return 1;
   }
 
   if(x<40){
     if(x-random(51)<0)
     maxdam=random(i);
     write("You get the sense that "+name+"'s "+limbs[maxdam]+" is damaged.");
      return 1;
   }
 
   if(x<65){
      write("You get the sense that "+name+"'s "+limbs[maxdam]+" is damaged.");
      return 1;
   }
 
   if(x<80){
     if(dam[maxdam]<20){
       write("You get the sense that "+name+"'s "+limbs[maxdam]+" is slightly "
             "damaged.");
       return 1;
     }
     if(dam[maxdam]<40){
       write("You get the sense that "+name+"'s "+limbs[maxdam]+" is "
             "somewhat damaged.");
       return 1;
     }  
     if(dam[maxdam]<60){
       write("You get the sense that "+name+"'s "+limbs[maxdam]+" is heavily "
             "damaged.");
       return 1;
     }
     if(dam[maxdam]<80){
       write("You get the sense that "+name+"'s "+limbs[maxdam]+" is severely "
             "damaged.");
        return 1;
     }
     write("You get the sense that "+name+"'s "+limbs[maxdam]+" is about to "
           "fall off!");
     return 1;
   }
 
   write("You get the sense that "+name+"'s "+limbs[maxdam]+" is at "+
         dam[maxdam]+" percent of its potential.");
   return 1;
}
 
 
 
void help(){
    write("syntax: limbs [whom]\nThis allows the faithful to offer a prayer "
          "for guidance in determining the location of injuries on another.");
}