final_realms_fluffos_v1/
final_realms_fluffos_v1/bin/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/ChangeLog.old/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/Win32/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/compat/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/compat/simuls/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/include/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/clone/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/command/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/data/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/etc/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/include/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/inherit/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/inherit/master/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/log/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/single/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/single/tests/compiler/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/single/tests/efuns/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/single/tests/operators/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/testsuite/u/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/tmp/
final_realms_fluffos_v1/fluffos-2.9-ds2.11/windows/
final_realms_fluffos_v1/lib/baseobs/guilds/
final_realms_fluffos_v1/lib/baseobs/misc/
final_realms_fluffos_v1/lib/baseobs/races/shadows/
final_realms_fluffos_v1/lib/cmds/god/
final_realms_fluffos_v1/lib/cmds/handlers/
final_realms_fluffos_v1/lib/cmds/handlers/cmds/
final_realms_fluffos_v1/lib/d/heaven/
final_realms_fluffos_v1/lib/d/heaven/heaven/ave/
final_realms_fluffos_v1/lib/d/mudlib/
final_realms_fluffos_v1/lib/d/newbie/
final_realms_fluffos_v1/lib/d/newbie/docs/
final_realms_fluffos_v1/lib/d/newbie/drow/armour/
final_realms_fluffos_v1/lib/d/newbie/drow/items/
final_realms_fluffos_v1/lib/d/newbie/drow/mobs/
final_realms_fluffos_v1/lib/d/newbie/drow/oldmobs/
final_realms_fluffos_v1/lib/d/newbie/drow/weapons/
final_realms_fluffos_v1/lib/d/newbie/duergar/weapons/
final_realms_fluffos_v1/lib/d/newbie/dwarf/weapons/
final_realms_fluffos_v1/lib/d/newbie/elf/cafe/
final_realms_fluffos_v1/lib/d/newbie/elf/chars/equip/
final_realms_fluffos_v1/lib/d/newbie/elf/items/armours/
final_realms_fluffos_v1/lib/d/newbie/elf/items/obj/
final_realms_fluffos_v1/lib/d/newbie/elf/items/weapons/
final_realms_fluffos_v1/lib/d/newbie/elf/quick_fix/
final_realms_fluffos_v1/lib/d/newbie/gnome/armour/
final_realms_fluffos_v1/lib/d/newbie/gnome/buildings/
final_realms_fluffos_v1/lib/d/newbie/gnome/items/
final_realms_fluffos_v1/lib/d/newbie/gnome/npcs/clones/
final_realms_fluffos_v1/lib/d/newbie/gnome/rooms/northrooms/
final_realms_fluffos_v1/lib/d/newbie/gnome/weapons/
final_realms_fluffos_v1/lib/d/newbie/goblin/armour/
final_realms_fluffos_v1/lib/d/newbie/goblin/items/
final_realms_fluffos_v1/lib/d/newbie/grads/log/
final_realms_fluffos_v1/lib/d/newbie/grads/npcs/
final_realms_fluffos_v1/lib/d/newbie/grads/rooms/
final_realms_fluffos_v1/lib/d/newbie/grads/rooms/cave1/
final_realms_fluffos_v1/lib/d/newbie/grads/temp/
final_realms_fluffos_v1/lib/d/newbie/guests/weapons/
final_realms_fluffos_v1/lib/d/newbie/half-elf/items/
final_realms_fluffos_v1/lib/d/newbie/half-elf/newroomss/
final_realms_fluffos_v1/lib/d/newbie/half-elf/rooms/
final_realms_fluffos_v1/lib/d/newbie/half-elf/rooms/castle/
final_realms_fluffos_v1/lib/d/newbie/half-elf/rooms/drows/
final_realms_fluffos_v1/lib/d/newbie/half-elf/rooms/savannah/
final_realms_fluffos_v1/lib/d/newbie/half-elf/rooms/secret/
final_realms_fluffos_v1/lib/d/newbie/half-elf/rooms/town/
final_realms_fluffos_v1/lib/d/newbie/halfling/
final_realms_fluffos_v1/lib/d/newbie/halfling/misc/
final_realms_fluffos_v1/lib/d/newbie/halfling/rooms/cave/
final_realms_fluffos_v1/lib/d/newbie/human/
final_realms_fluffos_v1/lib/d/newbie/human/armour/
final_realms_fluffos_v1/lib/d/newbie/human/monsters/
final_realms_fluffos_v1/lib/d/newbie/human/obj/
final_realms_fluffos_v1/lib/d/newbie/human/weapons/
final_realms_fluffos_v1/lib/d/newbie/lizard/armour/
final_realms_fluffos_v1/lib/d/newbie/lizard/items/
final_realms_fluffos_v1/lib/d/newbie/lizard/underwater/
final_realms_fluffos_v1/lib/d/newbie/lizard/weapons/
final_realms_fluffos_v1/lib/d/newbie/logs/
final_realms_fluffos_v1/lib/d/newbie/new_halfelf/
final_realms_fluffos_v1/lib/d/newbie/new_halfelf/npcs/
final_realms_fluffos_v1/lib/d/newbie/newdrow/npcs/
final_realms_fluffos_v1/lib/d/newbie/newdrow/rooms/
final_realms_fluffos_v1/lib/d/newbie/newelf/
final_realms_fluffos_v1/lib/d/newbie/newelf/chars/
final_realms_fluffos_v1/lib/d/newbie/newelf/npcs/
final_realms_fluffos_v1/lib/d/newbie/newelf/npcs/recopied/
final_realms_fluffos_v1/lib/d/newbie/newelf/obj/
final_realms_fluffos_v1/lib/d/newbie/newelf/quest_docs./
final_realms_fluffos_v1/lib/d/newbie/newken/
final_realms_fluffos_v1/lib/d/newbie/newken/chars/
final_realms_fluffos_v1/lib/d/newbie/newken/misc/
final_realms_fluffos_v1/lib/d/newbie/newken/npcs/
final_realms_fluffos_v1/lib/d/newbie/newken/obj/
final_realms_fluffos_v1/lib/d/newbie/newliz/
final_realms_fluffos_v1/lib/d/newbie/newliz/cave/
final_realms_fluffos_v1/lib/d/newbie/newliz/npcs/
final_realms_fluffos_v1/lib/d/newbie/orc/items/misc/
final_realms_fluffos_v1/lib/d/newbie/orc/items/weapons/
final_realms_fluffos_v1/lib/d/newbie/orc/tower/
final_realms_fluffos_v1/lib/d/vehicle/
final_realms_fluffos_v1/lib/doc/
final_realms_fluffos_v1/lib/doc/driver/
final_realms_fluffos_v1/lib/doc/driver/concepts/
final_realms_fluffos_v1/lib/doc/driver/driver/
final_realms_fluffos_v1/lib/doc/driver/efuns/arrays/
final_realms_fluffos_v1/lib/doc/driver/efuns/bitstrings/
final_realms_fluffos_v1/lib/doc/driver/efuns/communication/
final_realms_fluffos_v1/lib/doc/driver/efuns/core/
final_realms_fluffos_v1/lib/doc/driver/efuns/debugging/
final_realms_fluffos_v1/lib/doc/driver/efuns/filesystem/
final_realms_fluffos_v1/lib/doc/driver/efuns/interactive/
final_realms_fluffos_v1/lib/doc/driver/efuns/mappings/
final_realms_fluffos_v1/lib/doc/driver/efuns/objects/
final_realms_fluffos_v1/lib/doc/driver/efuns/security/
final_realms_fluffos_v1/lib/doc/driver/efuns/strings/
final_realms_fluffos_v1/lib/doc/driver/efuns/system/
final_realms_fluffos_v1/lib/doc/driver/efuns/types/
final_realms_fluffos_v1/lib/doc/driver/lpc/constructs/
final_realms_fluffos_v1/lib/doc/driver/lpc/types/
final_realms_fluffos_v1/lib/doc/driver/platforms/
final_realms_fluffos_v1/lib/doc/lpc/
final_realms_fluffos_v1/lib/doc/mail/
final_realms_fluffos_v1/lib/doc/man/
final_realms_fluffos_v1/lib/doc/man/html/
final_realms_fluffos_v1/lib/doc/man/html/applies/
final_realms_fluffos_v1/lib/doc/man/html/applies/parsing/
final_realms_fluffos_v1/lib/doc/man/html/driver/
final_realms_fluffos_v1/lib/doc/man/html/efuns/
final_realms_fluffos_v1/lib/doc/man/html/efuns/arrays/
final_realms_fluffos_v1/lib/doc/man/html/efuns/buffers/
final_realms_fluffos_v1/lib/doc/man/html/efuns/compile/
final_realms_fluffos_v1/lib/doc/man/html/efuns/floats/
final_realms_fluffos_v1/lib/doc/man/html/efuns/functions/
final_realms_fluffos_v1/lib/doc/man/html/efuns/general/
final_realms_fluffos_v1/lib/doc/man/html/efuns/numbers/
final_realms_fluffos_v1/lib/doc/man/html/efuns/parsing/
final_realms_fluffos_v1/lib/doc/man/local/
final_realms_fluffos_v1/lib/doc/man/local/applies/
final_realms_fluffos_v1/lib/doc/man/local/applies/interactive/
final_realms_fluffos_v1/lib/doc/man/local/applies/master/
final_realms_fluffos_v1/lib/doc/man/local/concepts/
final_realms_fluffos_v1/lib/doc/man/local/defines/
final_realms_fluffos_v1/lib/doc/man/local/driver/
final_realms_fluffos_v1/lib/doc/man/local/efuns/
final_realms_fluffos_v1/lib/doc/man/local/efuns/arrays/
final_realms_fluffos_v1/lib/doc/man/local/efuns/buffers/
final_realms_fluffos_v1/lib/doc/man/local/efuns/calls/
final_realms_fluffos_v1/lib/doc/man/local/efuns/compile/
final_realms_fluffos_v1/lib/doc/man/local/efuns/filesystem/
final_realms_fluffos_v1/lib/doc/man/local/efuns/floats/
final_realms_fluffos_v1/lib/doc/man/local/efuns/functions/
final_realms_fluffos_v1/lib/doc/man/local/efuns/general/
final_realms_fluffos_v1/lib/doc/man/local/efuns/interactive/
final_realms_fluffos_v1/lib/doc/man/local/efuns/internals/
final_realms_fluffos_v1/lib/doc/man/local/efuns/mappings/
final_realms_fluffos_v1/lib/doc/man/local/efuns/mudlib/
final_realms_fluffos_v1/lib/doc/man/local/efuns/numbers/
final_realms_fluffos_v1/lib/doc/man/local/efuns/objects/
final_realms_fluffos_v1/lib/doc/man/local/efuns/parsing/
final_realms_fluffos_v1/lib/doc/man/local/efuns/sockets/
final_realms_fluffos_v1/lib/doc/man/local/efuns/strings/
final_realms_fluffos_v1/lib/doc/man/local/efuns/system/
final_realms_fluffos_v1/lib/doc/man/local/historical/
final_realms_fluffos_v1/lib/doc/man/local/lfun/QC/
final_realms_fluffos_v1/lib/doc/man/local/lfun/events/
final_realms_fluffos_v1/lib/doc/man/local/lfun/monster/
final_realms_fluffos_v1/lib/doc/man/local/lfun/properties/
final_realms_fluffos_v1/lib/doc/man/local/lpc/
final_realms_fluffos_v1/lib/doc/man/local/lpc/constructs/
final_realms_fluffos_v1/lib/doc/man/local/lpc/types/
final_realms_fluffos_v1/lib/doc/man/local/standards/
final_realms_fluffos_v1/lib/doc/man/local/tutorials/
final_realms_fluffos_v1/lib/doc/man/local/tutorials/basic/
final_realms_fluffos_v1/lib/doc/man/local/tutorials/intermediate/
final_realms_fluffos_v1/lib/doc/man/mudos/applies/
final_realms_fluffos_v1/lib/doc/man/mudos/applies/interactive/
final_realms_fluffos_v1/lib/doc/man/mudos/applies/parsing/
final_realms_fluffos_v1/lib/doc/man/mudos/concepts/
final_realms_fluffos_v1/lib/doc/man/mudos/driver/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/arrays/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/buffers/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/calls/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/compile/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/filesystem/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/floats/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/functions/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/general/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/mappings/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/mixed/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/mudlib/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/numbers/
final_realms_fluffos_v1/lib/doc/man/mudos/efuns/parsing/
final_realms_fluffos_v1/lib/doc/man/mudos/lpc/constructs/
final_realms_fluffos_v1/lib/doc/man/mudos/lpc/types/
final_realms_fluffos_v1/lib/doc/races/
final_realms_fluffos_v1/lib/doc/races/old_race/
final_realms_fluffos_v1/lib/global/virtual/
final_realms_fluffos_v1/lib/global/wiz_backup/
final_realms_fluffos_v1/lib/net/config/
final_realms_fluffos_v1/lib/net/daemon/chars/
final_realms_fluffos_v1/lib/net/inherit/
final_realms_fluffos_v1/lib/net/intermud3/
final_realms_fluffos_v1/lib/net/intermud3/cmds/
final_realms_fluffos_v1/lib/net/intermud3/save/
final_realms_fluffos_v1/lib/net/intermud3/services/
final_realms_fluffos_v1/lib/net/obj/
final_realms_fluffos_v1/lib/net/old/
final_realms_fluffos_v1/lib/net/old/intermud/
final_realms_fluffos_v1/lib/net/old/intermud/adm/
final_realms_fluffos_v1/lib/net/old/intermud/services/
final_realms_fluffos_v1/lib/net/old/intermud/udp/
final_realms_fluffos_v1/lib/net/virtual/
final_realms_fluffos_v1/lib/obj/b_day/
final_realms_fluffos_v1/lib/obj/chars/
final_realms_fluffos_v1/lib/obj/handlers/lists/
final_realms_fluffos_v1/lib/obj/handlers/useless/
final_realms_fluffos_v1/lib/obj/monsters/
final_realms_fluffos_v1/lib/obj/roomgen/
final_realms_fluffos_v1/lib/obj/soul/
final_realms_fluffos_v1/lib/obj/vegetation/
final_realms_fluffos_v1/lib/obj/weapons/oldsys/
final_realms_fluffos_v1/lib/open/
final_realms_fluffos_v1/lib/players/g/
final_realms_fluffos_v1/lib/releasefiles/d/heaven/
final_realms_fluffos_v1/lib/releasefiles/d/mudlib/
final_realms_fluffos_v1/lib/releasefiles/d/newbie/
final_realms_fluffos_v1/lib/releasefiles/doc/
final_realms_fluffos_v1/lib/releasefiles/players/g/
final_realms_fluffos_v1/lib/releasefiles/save/
final_realms_fluffos_v1/lib/releasefiles/save/environ/
final_realms_fluffos_v1/lib/releasefiles/save/roomgen/
final_realms_fluffos_v1/lib/releasefiles/secure/
final_realms_fluffos_v1/lib/releasefiles/w/
final_realms_fluffos_v1/lib/releasefiles/w/god/
final_realms_fluffos_v1/lib/room/
final_realms_fluffos_v1/lib/save/
final_realms_fluffos_v1/lib/save/environ/
final_realms_fluffos_v1/lib/save/roomgen/
final_realms_fluffos_v1/lib/scripts/
final_realms_fluffos_v1/lib/secure/crerem/
final_realms_fluffos_v1/lib/secure/dom/
final_realms_fluffos_v1/lib/secure/log/
final_realms_fluffos_v1/lib/secure/misc/
final_realms_fluffos_v1/lib/std/adnd/
final_realms_fluffos_v1/lib/std/commands/shadows/
final_realms_fluffos_v1/lib/std/creator/
final_realms_fluffos_v1/lib/std/curses/
final_realms_fluffos_v1/lib/std/curses/old_sys/
final_realms_fluffos_v1/lib/std/curses/shadows/
final_realms_fluffos_v1/lib/std/dom/
final_realms_fluffos_v1/lib/std/effects/
final_realms_fluffos_v1/lib/std/effects/healing/
final_realms_fluffos_v1/lib/std/effects/other/
final_realms_fluffos_v1/lib/std/effects/poisons/
final_realms_fluffos_v1/lib/std/environ/
final_realms_fluffos_v1/lib/std/guilds/
final_realms_fluffos_v1/lib/std/guilds/priests/samples/
final_realms_fluffos_v1/lib/std/guilds/wizards/
final_realms_fluffos_v1/lib/std/living/baldy/
final_realms_fluffos_v1/lib/std/living/divstuff/
final_realms_fluffos_v1/lib/std/paran/
final_realms_fluffos_v1/lib/std/poisons/
final_realms_fluffos_v1/lib/std/poisons/shadows/
final_realms_fluffos_v1/lib/std/poisons/weapons/
final_realms_fluffos_v1/lib/std/race_groups/
final_realms_fluffos_v1/lib/std/room/
final_realms_fluffos_v1/lib/std/room/old/
final_realms_fluffos_v1/lib/std/rooms/
final_realms_fluffos_v1/lib/std/shadows/
final_realms_fluffos_v1/lib/std/shadows/test_shad/
final_realms_fluffos_v1/lib/std/socket/
final_realms_fluffos_v1/lib/std/spells/
final_realms_fluffos_v1/lib/std/vaults/
final_realms_fluffos_v1/lib/tmp/
final_realms_fluffos_v1/lib/w/
final_realms_fluffos_v1/lib/w/god/
final_realms_fluffos_v1/old/
final_realms_fluffos_v1/win32/
/*  Adapted from the original Berserk command, coded by Timion.
 *  Marauder, 11/14/95/
 */
/** converted to base malik oct 97 **/
/** changes for experiment malik **/
                                     
                                     
inherit "/std/commands/base_command.c";
inherit "/std/inventory.c";
                                     
                                     
#include "new_tweaks.h"
                                     
                                     
#define START_GP 5
#define RAGE_GP 1
#define BERSERK_GP 3
#define BERSERKER_HEAL 7
                                     
                                     
void remove_me(object doer);
void property_check(object doer);
                                     
                                     
void setup(){
   set_command_name("berserk");
   guilds = BERSERK_GUILDS; //fighter, rager
   target_type = BERSERK_TYPE;
   lockout = 0;
// reason? you go hyper. can't haste anymore so no need to
// castrate going utterly nuts
   set_help_string(
    "Berserk is the use of violent emotions during combat by fighters.  "
    "Whether this is an adrenaline fueled rush of violence channeled "
    "into your enemies or the total loss of any control and the "
    "possession of your body by your most violent inner emotions.  "
    "The first stage in this rage is a focused violence, more easily "
    "controlled and directed.  The second stage will cause you to attack "
    "anything that can be physically harmed.  The second stage, or full "
    "blown berserk is viewed by many as dangerous and addictive and some "
    "fear ever to tread its dangerous path.  In any event the use of "
    "these emotions does not come without risks.\n\n");
} /* setup() */
                                     
                                     
int go_berserk(string str, object ob){
   return ::exec_command(str,ob);
} /* go_berserk() */
                                     
                                     
int do_command(string str, object doer){
   int ACBONUS,BONUS;
   int time;
   int point;
   int *bstats;
                                     
// this is to eliminate a previous error with prop added
// permanently instead of static.

   if(doer->query_property("berserker_stats") &&
      !doer->query_static_property("berserker_stats")){

      doer->remove_property("berserker_stats");
   }




   if(doer->query_gp() < START_GP){
      tell_object(doer,"You are too exhausted.\n");
      return 1;
   }
   command_cost(START_GP,doer);
                                     
   point = doer->query_property("flipped");
   if(!doer->query_property("berserker_stats")) point = 0;
   if(point == 2){
      tell_object(doer,"You are Berserk! You cannot possibly become "
       "more enraged.\n");
      return 1;
   }
   bstats = doer->query_property("berserker_stats");
   if(!sizeof(bstats)) bstats = ({0,0});
                                     
   doer->adjust_tmp_tohit_bon(-bstats[0]);
   doer->adjust_tmp_damage_bon(-bstats[0]);
   doer->adjust_tmp_ac_bon(-bstats[1]);
                                     
   doer->remove_static_property("berserker_stats");
   end_hb_command(doer);
   remove_me(doer);
   switch(point){
    case 0:
      time = doer->query_level()*3;
      BONUS = adjust_for_skills(doer->query_level()/3+1,doer);
      ACBONUS = adjust_for_skills(10,doer);     
      doer->add_static_property("berserker_stats",({BONUS,ACBONUS}));
      doer->adjust_tmp_tohit_bon(BONUS);
      doer->adjust_tmp_damage_bon(BONUS);
      doer->adjust_tmp_ac_bon(ACBONUS);
      doer->add_timed_property("flipped",1,time);
      tell_object(doer,"You feel your blood boil and the thrill of "
       "combat course through your body.\n");
      tell_room(environment(doer),doer->query_cap_name()+
       " begins to shake with strength and energy.\n",doer);
    break;
    case 1:
      time = doer->query_level();
      BONUS = adjust_for_skills(doer->query_level()/2+5,doer);
      ACBONUS = adjust_for_skills(40,doer);     
      doer->add_static_property("berserker_stats",({BONUS,ACBONUS}));
      doer->adjust_tmp_tohit_bon(BONUS);
      doer->adjust_tmp_damage_bon(BONUS);
      doer->adjust_tmp_ac_bon(ACBONUS);
      doer->add_timed_property("flipped",2,time);
      doer->add_property("flipped_out",1);
      doer->add_property(
       "berserkergang",doer->query_property("berserkergang")+random(2)+1);
      tell_object(doer,"You lose total control attacking everything in "
       "sight with the strength of a god.\n");
      tell_room(environment(doer),doer->query_cap_name()+
       " loses control attacking everything and everyone.\n",doer);
      call_out("remove_me",time,doer);
            call_out("end_hb_command",time,doer);
    break;
   }
    
   setup_hb_command(doer,time+2,({doer}));
   return 1;
} /* do_command() */
                                     

int hb_command(object doer, int time, mixed *params){
   object *cows;
   object co;
   int chance;
                                     
   if(time == 1 || !doer->query_property("flipped")){
      call_out("end_hb_command",0,doer);
      remove_me(doer);
      return 0;
   }

   chance = doer->query_property("berserkergang")-
   2*doer->query_level();


   if(doer->query_haste_spell()){
      doer->destruct_haste_shadow();
      doer->remove_timed_property("haste_on");
      doer->adjust_tmp_str(1);
      doer->adjust_tmp_dex(2);
   }
   if(doer->query_slow_spell() && doer->query_property("flipped")==2){
      doer->destruct_slow_shadow();
      doer->remove_timed_property("slow_on");
   }

   if(doer->query_property("flipped") == 1){
      if(!command_cost(RAGE_GP,doer)){
         call_out("end_hb_command",0,doer);
         remove_me(doer);
         return 0;
      }
      if(!random(2)){
         tell_object(doer,"You rage against your opponents.\n");
         tell_room(environment(doer),doer->query_cap_name()+
          " rages against "+doer->query_possessive()+
          " opponents.\n",doer);
      }
      if(random(5000) < chance){
         tell_object(doer,"You feel yourself losing total control!!!\n\n");
         call_out("do_command",5,"all",doer);
      }
   }
   cows = liv_not_creator_inv(environment(doer));
   if(!sizeof(cows)) cows = ({});
   if(doer->query_property("flipped") == 2){
      if(!command_cost(BERSERK_GP,doer)){
         remove_me(doer);
         call_out("end_hb_command",0,doer);
         return 0;
      }
      doer->adjust_hp(BERSERKER_HEAL,doer);
      if(!random(2)){
         tell_object(doer,"You attack everything in a rage.\n");
         tell_room(environment(doer),doer->query_cap_name()+
          " is in a berserk rage attacking everything!\n",doer);
      }
      foreach(co in cows){
// grrr hack hack hack
         if(!co) continue;
         if(!co->query_dead() && !co->query_pacify_spell() &&
            !co->query_hidden() && !co->query_invis()){
            co->attack_by(doer);
         }
      }
   }
   call_out("property_check",2,doer);
   return 0;
}
                                     
                                     
                                     
void property_check(object doer){
   int chance = doer->query_property("berserkergang");
                                     
   if(!doer->query_property("flipped")){
      call_out("end_hb_command",0,doer);
      remove_me(doer);
      return;
   }

   if(doer->query_timed_property("feared")){
      doer->remove_timed_property("feared");
      if(doer->query_property("flipped") == 1 &&
         random(5000) < chance*50){
         call_out("do_command",0,"all",doer);
         doer->set_wimpy(0);
         tell_object(doer,"As the fear courses through your veins "
          "you become filled with a terrible rage.\n");
         
         return; 
      }
      if(doer->query_timed_property("flipped") == 2){
         doer->set_wimpy(0);
         return;
      }
   }
   if(doer->query_timed_property("hold_person_on")){
      if(doer->query_property("flipped") == 2){
         doer->remove_timed_property("passed out");
         doer->remove_timed_property("noguild");
         doer->remove_timed_property("hold_person_on");
         doer->destruct_hold_person_shadow();
      }
      return;
   }
   if(doer->query_timed_property("stun_on")){
      doer->remove_timed_property("stun_on");
      call_out("end_hb_command",0,doer);
      remove_me(doer);
      doer->remove_timed_property("passed out");
      doer->remove_timed_property("noguild");
      doer->remove_timed_property("nocast");
      return;
   }
   if(doer->query_timed_property("pacify_on")){
      doer->remove_timed_property("pacify_on");
      if(doer->query_property("flipped") == 2 &&
         random(5000) < chance*25){
         doer->remove_timed_property("noguild");
         doer->remove_timed_property("nocast");
         return;
      }
      call_out("end_hb_command",0,doer);
      remove_me(doer);
      doer->remove_timed_property("noguild");
      doer->remove_timed_property("nocast");
      return;
   }
   return;
}
                                     
                                     
                                     
void remove_me(object doer){
   int *bstats = doer->query_property("berserker_stats");
   doer->remove_static_property("berserker_stats");

   if(!bstats) bstats = ({0,0});

   doer->remove_timed_property("flipped");
                                     
   if(doer->query_property("flipped_out"))
      doer->adjust_hp(-doer->query_level()*2,doer);
   doer->remove_property("flipped_out");
   
   doer->adjust_tmp_tohit_bon(-bstats[0]);
   doer->adjust_tmp_damage_bon(-bstats[0]);
   doer->adjust_tmp_ac_bon(-bstats[1]);

   if(bstats[0]){
      doer->adjust_tmp_con(-1);
      tell_room(environment(doer),doer->query_cap_name()+
       " slumps as great emotions leave "+doer->query_possessive()+
       " body.\n",doer);
      tell_object(doer,"You feel exhausted as your rage leaves you.\n");
      bstats = 0;
   remove_call_out("remove_me");
   }
}