/
ScryMUD/mud/
ScryMUD/mud/grrmud/Boards/
ScryMUD/mud/grrmud/Help/
ScryMUD/mud/grrmud/Pfiles/
ScryMUD/mud/grrmud/PlayerSacks/
ScryMUD/mud/grrmud/PlayerShops/
ScryMUD/mud/grrmud/help_filter/
ScryMUD/mud/hegemon/
ScryMUD/mud/hegemon/data/
ScryMUD/mud/hegemon/data/help/battle/
ScryMUD/mud/hegemon/data/help/client/
ScryMUD/mud/hegemon/data/help/communications/
ScryMUD/mud/hegemon/data/help/skills/
ScryMUD/mud/hegemon/data/help/spells/
ScryMUD/mud/include/
ScryMUD/mud/lib/
ScryMUD/mud/lib/bitfield/
ScryMUD/mud/lib/log/
ScryMUD/mud/lib/string2/
// $Id: command4.h,v 1.6.2.3 2000/02/19 17:44:38 justin Exp $
// $Revision: 1.6.2.3 $  $Author: justin $ $Date: 2000/02/19 17:44:38 $

//
//ScryMUD Server Code
//Copyright (C) 1998  Ben Greear
//
//This program is free software; you can redistribute it and/or
//modify it under the terms of the GNU General Public License
//as published by the Free Software Foundation; either version 2
//of the License, or (at your option) any later version.
//
//This program is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//GNU General Public License for more details.
//
//You should have received a copy of the GNU General Public License
//along with this program; if not, write to the Free Software
//Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
//
// To contact the Author, Ben Greear:  greear@cyberhighway.net, (preferred)
//                                     greearb@agcs.com
//

/************************  command4.h  ***************************/
/*  Contains all the prototypes for all commands found in command4.cc */
/*  These commands are mostly imm-only commands, for building.        */


#ifndef Commands4Include
#define Commands4Include

#include "const.h"
#include "classes.h"
#include "room.h"
#include "object.h"
#include "critter.h"
#include "door.h"

int roll(int i, int j, critter& pc);
int uptime(critter& pc);
int passwd(const String* old, const String* new1, const String* new2,
            critter& pc);
int unsiteban(const String* site, critter& pc);
int list_site_bans(critter& pc);
int siteban(const String* site, critter& pc);

int snoop(int i_th, const String* vict, critter& pc);
int unsnoop(critter& pc);
int possess(int i_th, const String* vict, critter& pc);
//int unpossess(critter& pc);  called directly before processing input, critter.h

int unpost(int i_th, const String* post, critter& pc);
int write_board(object& obj);
int title(const String* tit, critter& pc);
int poofin(String* tit, critter& pc);
int poofout(String* tit, critter& pc);
int oreload(critter& pc);
int mreload(critter& pc);
int read(int i_th, const String* post, int j_th, const String* board, critter& pc);
int post(const String* title, critter& pc);
int do_post(critter& pc);
int log_out(critter& pc);
int go(int i_th, const String* direction, critter& pc, int& is_dead);
int _goto(int i_th, const String* name, critter& pc); //goto room numbered
int where(int i_th, const String* name, critter& pc); 
int zgoto(int i_th, critter& pc); //goto zone numbered

int rclear(int i_th, critter& pc); //these three can delete from DB when
int mclear(int i_th, critter& pc); //used with asave, amsave, aosave
int dclear(int i_th, critter& pc); //used with adsave
int oclear(int i_th, critter& pc); //respectively.

int brief(critter& pc);
int olist(int start, int end, critter& pc);
int mlist(int start, int end, critter& pc);
int rlist(int start, int end, critter& pc);
int dlist(int start, int end, critter& pc);
int adlist(int znum, critter& pc);
int zlist(int start, int end, critter& pc);

//loop through all rooms in zone.
int set_zflag(int flagnum, const String* on_off, critter& pc);

int tog_rflag(int flagnum, critter& pc);
int tog_vflag(int flagnum, critter& pc);
int tog_oflag(int flagnum, const String* flag_type, 
               int i_th, const String* obj, critter& pc); 
int tog_mflag(int flagnum, const String* flag_type, 
               int i_th, const String* mob, critter& pc); 

int rset(const String* targ, int new_value, critter& pc);
int mset(int i_th, const String* vict, const String* targ, 
          int new_value, const String* new_string_val, critter& pc);
int oset(int i_th, const String* vict, const String* targ,
          int new_value, const String* new_val_string, critter& pc);
int dset(int i_th, const String* vict, const String* targ,
          int new_value, critter& pc);

int give(int i_th, const String* obj, int i_th, const String* targ,
               critter& pc);  //does checks, mob_to_smob
int do_give(critter& targ, critter& pc, object& obj);  //does actual work

int prompt(const String* pr, critter& pc);
int zlock(int zone_num, critter& pc);
int zunlock(int zone_num, critter& pc);

int write_zone(int zone_num, critter& pc); //writes zone pc is in..if locked
int do_write_zone(int znum);

int replace_door(int new_door_num, const String* direction, critter& pc);
int delete_door(int i_th, const String* door, critter& pc);
int  door_to(int dest_room_num, int distance,
     const String* exit_direction, critter& pc);
int do_door_to(room& cur_room, room& dest_room, int distance,
     critter& pc, const String* exit_direction, int is_gate = FALSE);
int flip_door(int i_th, const String* door, critter& pc);


///**********************************************************************///
///************************  auxillary functions  ***********************///
///**********************************************************************///

int do_lock_room(room& rm);
int do_unlock_room(room& rm);
int num_of_generic_door(const String* direction);
int do_gecho(const char* msg);

#endif //include