/* $Id: grep.h,v 1.666 2004/09/20 10:49:48 shrike Exp $ */ /************************************************************************************ * Copyright 2004 Astrum Metaphora consortium * * * * Licensed under the Apache License, Version 2.0 (the "License"); * * you may not use this file except in compliance with the License. * * You may obtain a copy of the License at * * * * http://www.apache.org/licenses/LICENSE-2.0 * * * * Unless required by applicable law or agreed to in writing, software * * distributed under the License is distributed on an "AS IS" BASIS, * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * * See the License for the specific language governing permissions and * * limitations under the License. * * * ************************************************************************************/ /************************************************************************************ * (c) 2004 by Shrike aka Sauron * ************************************************************************************/ #ifndef __GREP_H #define __GREP_H #include "typedef.h" #include "conquer.h" #define SORT_INVALID -1 #define SORT_NONE 0 #define SORT_LEVEL 1 #define SORT_SVS 2 #define SORT_HR 3 #define SORT_DR 4 #define SORT_AVE 5 #define SORT_SAF 6 #define SORT_AC 7 #define SORT_ALEVEL 8 #define SORT_VNUM 9 #define SORT_INT 10 #define SORT_STR 11 #define SORT_DEX 12 #define SORT_WIS 13 #define SORT_CON 14 #define SORT_CHA 15 #define SORT_LCK 16 #define SORT_HP 17 #define SORT_MANA 18 #define SORT_MOVE 19 #define SORT_V0 20 #define SORT_V1 21 #define SORT_V2 22 #define SORT_V3 23 #define SORT_V4 24 #define RSORT_V0 30 #define RSORT_V1 31 #define RSORT_V2 32 #define RSORT_V3 33 #define RSORT_V4 34 typedef struct mgrep_mob_t mgrep_mob_t; typedef struct ogrep_obj_t ogrep_obj_t; typedef struct rgrep_room_t rgrep_room_t; // ---------------------------------------------------------------------- // structures for mobs // ---------------------------------------------------------------------- struct mgrep_mob_t { const char *name; int vnum; int level; //SPEC_FUN * spec_fun; //SHOP_DATA * pShop; int mptrig; //int mptrig_types; //int fvnum; //int group; //int count; //int killed; mlstring * short_descr; flag64_t affected_by; int alignment; int hitroll; int hit[3]; int mana[3]; int damage[3]; int ac[4]; int dam_type; flag64_t act; flag64_t off_flags; flag64_t immunes; /* immunities */ sh_int resists[MAX_DAM]; /* resistances/vulnerabilities */ //flag64_t start_pos; //flag64_t default_pos; flag64_t sex; int race; int wealth; flag64_t form; flag64_t parts; int pcnt; int size; //const char * material; flag64_t practicer; int clan; int invis_level; /* mobinvis level */ mlstring * listen_data; }; // ---------------------------------------------------------------------- // structures for all object classes // ---------------------------------------------------------------------- struct ogrep_obj_t { const char *name; int vnum; int item_type; int level; int limit; int wear_flags; int hr; int dr; int svs; int saf; int hp; int mana; int move; int dice_number; int dice_type; int ave; int stat_str; int stat_int; int stat_wis; int stat_dex; int stat_con; int stat_cha; int stat_lck; int opcods; int objprogs; int apply_level; int ac; int v0; int v1; int v2; int v3; int v4; const char *material; }; // ---------------------------------------------------------------------- // structures for room // ---------------------------------------------------------------------- struct rgrep_room_t { const char * name; const char * owner; int clan; int vnum; flag64_t room_flags; int light; flag64_t sector_type; int heal_rate; int mana_rate; AFFECT_DATA * affected; int affected_by; int space; MPTRIG * rprogs; /* Room olc */ long rprog_flags; sh_int rprog_delay; ext_flag_t progtypes; }; typedef struct grep_sortmode GREP_SORTMODE; #define SORT_ARMOR (A) #define SORT_WEAPON (B) #define SORT_PILL (C) #define SORT_MOB (aa) #define SORT_ROOM (bb) struct grep_sortmode { char *name ; // command name int sort_value ; int sort_mode ; }; #if defined _OBJ_GREP static GREP_SORTMODE grep_sortmode [] = { { "int", SORT_INT, SORT_WEAPON | SORT_ARMOR }, { "str", SORT_STR, SORT_WEAPON | SORT_ARMOR }, { "dex", SORT_DEX, SORT_WEAPON | SORT_ARMOR }, { "wis", SORT_WIS, SORT_WEAPON | SORT_ARMOR }, { "con", SORT_CON, SORT_WEAPON | SORT_ARMOR }, { "cha", SORT_CHA, SORT_WEAPON | SORT_ARMOR }, { "lck", SORT_LCK, SORT_WEAPON | SORT_ARMOR }, { "hp", SORT_HP, SORT_WEAPON | SORT_ARMOR }, { "mana", SORT_MANA, SORT_WEAPON | SORT_ARMOR }, { "move", SORT_MOVE, SORT_WEAPON | SORT_ARMOR }, { "level", SORT_LEVEL, SORT_WEAPON | SORT_ARMOR |SORT_PILL }, { "svs", SORT_SVS, SORT_WEAPON | SORT_ARMOR }, { "hr", SORT_HR, SORT_WEAPON | SORT_ARMOR }, { "dr", SORT_DR, SORT_WEAPON | SORT_ARMOR }, { "ave", SORT_AVE, SORT_WEAPON | SORT_ARMOR }, { "saf", SORT_SAF, SORT_WEAPON | SORT_ARMOR }, { "pierce", SORT_V0, SORT_ARMOR }, { "bash", SORT_V1, SORT_ARMOR }, { "slash", SORT_V2, SORT_ARMOR }, { "exotic", SORT_V3, SORT_ARMOR }, { "slevel", SORT_V0, SORT_PILL }, { "spell1", SORT_V1, SORT_PILL }, { "spell2", SORT_V2, SORT_PILL }, { "spell3", SORT_V3, SORT_PILL }, { "spell4", SORT_V4, SORT_PILL }, { "vnum", SORT_VNUM, SORT_MOB | SORT_ROOM }, { NULL } }; #endif /* #define ITEM_LIGHT 1 #define ITEM_STAFF 4 #define ITEM_TREASURE 8 // no extra data #define ITEM_CLOTHING 11 // no extra data #define ITEM_FURNITURE 12 #define ITEM_TRASH 13 // no extra data #define ITEM_CONTAINER 15 #define ITEM_DRINK_CON 17 #define ITEM_KEY 18 // no extra data #define ITEM_FOOD 19 #define ITEM_MONEY 20 #define ITEM_BOAT 22 // no extra data #define ITEM_CORPSE_NPC 23 // no extra data #define ITEM_CORPSE_PC 24 // no extra data #define ITEM_FOUNTAIN 25 #define ITEM_PROTECT 27 // no extra data #define ITEM_MAP 28 // no extra data #define ITEM_WARP_STONE 30 // no extra data #define ITEM_ROOM_KEY 31 // no extra data #define ITEM_GEM 32 // no extra data #define ITEM_JEWELRY 33 // no extra data #define ITEM_JUKEBOX 34 // no extra data #define ITEM_TATTOO 35 // no extra data #define ITEM_POLE 36 #define ITEM_SCABBARD 37 #define ITEM_SLOT_MACHINE 39 #define ITEM_RIDDLE 40 #define ITEM_RALTAR 41 */ // ---------------------------------------------------------------------- // functions // ---------------------------------------------------------------------- DECLARE_DO_FUN (do_ogrep) ; DECLARE_DO_FUN (ogrep_weapons) ; // ITEM_WEAPON 5 DECLARE_DO_FUN (ogrep_armor) ; // ITEM_ARMOR 9 DECLARE_DO_FUN (ogrep_pill) ; DECLARE_DO_FUN (ogrep_help) ; DECLARE_DO_FUN (do_mgrep) ; DECLARE_DO_FUN (mgrep_level) ; DECLARE_DO_FUN (mgrep_area) ; DECLARE_DO_FUN (mgrep_name) ; DECLARE_DO_FUN (mgrep_act) ; DECLARE_DO_FUN (mgrep_off) ; DECLARE_DO_FUN (mgrep_affected) ; DECLARE_DO_FUN (mgrep_immunes) ; DECLARE_DO_FUN (mgrep_help) ; DECLARE_DO_FUN (mgrep_shop) ; // room void rgrep_help ( CHAR_DATA *ch, const char *arg ); void rgrep_sector ( CHAR_DATA *ch, const char *arg ); void rgrep_flag ( CHAR_DATA *ch, const char *arg ); void rgrep_reset ( CHAR_DATA *ch, const char *arg ); void ogrep_help ( CHAR_DATA *ch, const char *arg ); void ogrep_weapons ( CHAR_DATA *ch, const char *arg ); void ogrep_armor ( CHAR_DATA *ch, const char *arg ); void ogrep_pill ( CHAR_DATA *ch, const char *arg ); void ogrep_wear ( CHAR_DATA *ch, const char *arg ); void ogrep_portal ( CHAR_DATA *ch, const char *arg ); void ogrep_window ( CHAR_DATA *ch, const char *arg ); void ogrep_potion ( CHAR_DATA *ch, const char *arg ); void ogrep_scroll ( CHAR_DATA *ch, const char *arg ); void ogrep_material ( CHAR_DATA *ch, const char *arg ); void mgrep_help ( CHAR_DATA *ch, const char *arg ); void mgrep_level ( CHAR_DATA *ch, const char *arg ); void mgrep_area ( CHAR_DATA *ch, const char *arg ); void mgrep_name ( CHAR_DATA *ch, const char *arg ); void mgrep_act ( CHAR_DATA *ch, const char *arg ); void mgrep_off ( CHAR_DATA *ch, const char *arg ); void mgrep_affected ( CHAR_DATA *ch, const char *arg ); void mgrep_immunes ( CHAR_DATA *ch, const char *arg ); void mgrep_shop ( CHAR_DATA *ch, const char *arg ); void mgrep_race ( CHAR_DATA *ch, const char *arg ); int get_sort_mode (const char* argument, int mode); void sort_show (CHAR_DATA *ch, int mode); char * percent_color (int value, int max_value); #endif