/
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: olc2.h,v 1.7.2.3 1999/09/22 00:39:41 greear Exp $
// $Revision: 1.7.2.3 $  $Author: greear $ $Date: 1999/09/22 00:39:41 $

//
//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
//

///************************  olc2.h  *****************************///

#ifndef Olc2Include
#define Olc2Include

#include "const.h"
#include <string2.h>
#include "classes.h"


int do_create_construction(int rslt, int comp1, int comp2, int comp3, int comp4,
                       int comp5, critter& pc, ComponentEnum con_type);

int create_concoction(int rslt, int comp1, int comp2, int comp3, int comp4,
                       int comp5, critter& pc);

int create_construction(int rslt, int comp1, int comp2, int comp3, int comp4,
                         int comp5, critter& pc);

int save_mob(int i_th, String* mob_name, critter& pc);
int save_obj(int i_th, String* obj_name, critter& pc);

// normalize_obj:  make it fit w/in standards as
//                 much as possible, set 1024
//                 vis bit...
int normalize_obj(object& obj, bool just_check = false, critter *pc = NULL);

int normalize_mob(critter& obj);
int normalize_room(room& rm);
int normalize_door(door_data& dr);

int ch_rname(const String* rname, critter& pc);
int ch_rdesc(critter& pc);  
int ch_kdesc(int idx, critter& pc);

int ch_path_desc(int veh_id, int path_cell_num, critter& pc);
int set_path_dir(int veh_id, int path_cell_num, int i_th,
                  const String* dir, critter& pc);

int add_keyword(critter& pc);
int rm_keyword(int idx, critter& pc);
int clear_keyword(int idx, critter& pc);
int add_kname(int idx, const String* name, critter& pc);
int stat_keyword(int kwd_num, critter& pc);

// inserts an empty path in the slot:  path_cell_num
int add_path(int veh_id, int path_cell_num, critter& pc);
int rem_path(int veh_id, int path_cell_num, critter& pc);
int rm_stat_affect(int onum, int stat_num, critter& pc);
int add_stat_affect(int onum, int stat_num, int val, critter& pc);

int rm_casts_spell(int onum, int stat_num, critter& pc);
int add_casts_spell(int onum, int stat_num, int val, critter& pc);

int tog_veh_stop(int veh_id, int path_cell_num, critter& pc);
int list_paths(int veh_id, critter& pc);
int stat_path(int veh_id, int path_cell_num, critter& pc);
int set_path_pointer(int veh_id, int index, critter& pc);
int set_veh_stop(int veh_id, int path_cell_num,
                  const String* yes_no, critter& pc);

int ch_mdesc(int i_th, critter& pc);
int ch_mndesc(int mob_num, const String* desc, critter& pc);
int ch_msdesc(int mob_num, const String* desc, critter& pc);

int ch_ondesc(int obj_num, const String* desc, critter& pc);
int ch_osdesc(int obj_num, const String* desc, critter& pc);
int ch_odesc(int i_th, critter& pc);

int ch_ddesc(int i_th, critter& pc);

int do_ch_desc(critter& pc);  //does stuff, and exits upon '~'


int add_mob_script(critter& pc, int mob_num, String& trigger_cmd,
                    int actor_num, String& descriminator, int target_num,
                    int takes_precedence);
int do_add_mob_script(critter& pc);

int add_room_script(critter& pc, int rm_num, String& trigger_cmd,
                     int actor_num, String& descriminator, int target_num,
                     int takes_precedence);
int do_add_room_script(critter& pc);

int add_obj_script(critter& pc, int obj_num, String& trigger_cmd,
                   int actor_num, String& descriminator, int target_num,
                   int takes_precedence);
int do_add_obj_script(critter& pc);


int clear_mnames(int obj_num, critter& pc);
int clear_onames(int obj_num, critter& pc);


int add_crit_alias(int i_th, const String* targ, String* alias,
                   critter& pc);

int add_oname(int obj_num, const String* name, critter& pc);
int add_mname(int mob_num, const String* name, critter& pc);
int rem_oname(int obj_num, const String* name, critter& pc);
int rem_mname(int mob_num, const String* name, critter& pc);

int reset_olc(critter& pc);
int add_proc(int mnum, critter& pc);
int rm_give_proc(int mnum, critter& pc);
int rm_discuss_proc(int mnum, critter& pc);
int rm_curse_proc(int mnum, critter& pc);
int rm_bow_proc(int mnum, critter& pc);

int make_pso(int i_th, const String* shop_keeper, critter& pc);

#endif