--- deliantra/server/server/c_misc.C 2006/08/24 13:13:49 1.2 +++ deliantra/server/server/c_misc.C 2006/08/29 08:01:37 1.3 @@ -1,6 +1,6 @@ /* * static char *rcsid_c_misc_c = - * "$Id: c_misc.C,v 1.2 2006/08/24 13:13:49 root Exp $"; + * "$Id: c_misc.C,v 1.3 2006/08/29 08:01:37 root Exp $"; */ /* @@ -43,8 +43,8 @@ char buf[MAX_BUF], map_path[MAX_BUF]; long sec = seconds(); new_draw_info_format(NDI_UNIQUE, 0, op, - "Current time is: %02ld:%02ld:%02ld.", - (sec%86400)/3600,(sec%3600)/60,sec%60); + "Current time is: %02ld:%02ld:%02ld.", + (sec%86400)/3600,(sec%3600)/60,sec%60); new_draw_info(NDI_UNIQUE, 0,op,"Path Pl PlM IM TO Dif Reset"); for(m=first_map;m!=NULL;m=m->next) { @@ -55,7 +55,7 @@ sprintf(buf,"%-18.18s %2d %2d %1d %4d %2d %02d:%02d:%02d", map_path, m->players,players_on_map(m,FALSE), m->in_memory,m->timeout,m->difficulty, - (MAP_WHEN_RESET(m)%86400)/3600,(MAP_WHEN_RESET(m)%3600)/60, + (MAP_WHEN_RESET(m)%86400)/3600,(MAP_WHEN_RESET(m)%3600)/60, MAP_WHEN_RESET(m)%60); new_draw_info(NDI_UNIQUE, 0,op,buf); } @@ -76,18 +76,18 @@ new_draw_info(NDI_UNIQUE, 0, op, "The second column is how many of those locations your body has."); new_draw_info(NDI_UNIQUE, 0, op, "The third column is how many slots in that location are available."); for (i=0; ibody_info[i] || op->body_used[i]) { - new_draw_info_format(NDI_UNIQUE, 0, op, - "%-30s %5d %5d", body_locations[i].use_name, op->body_info[i], op->body_used[i]); - } + /* really debugging - normally body_used should not be set to anything + * if body_info isn't also set. + */ + if (op->body_info[i] || op->body_used[i]) { + new_draw_info_format(NDI_UNIQUE, 0, op, + "%-30s %5d %5d", body_locations[i].use_name, op->body_info[i], op->body_used[i]); + } } if (!QUERY_FLAG(op, FLAG_USE_ARMOUR)) - new_draw_info(NDI_UNIQUE, 0, op, "You are not allowed to wear armor"); + new_draw_info(NDI_UNIQUE, 0, op, "You are not allowed to wear armor"); if (!QUERY_FLAG(op, FLAG_USE_WEAPON)) - new_draw_info(NDI_UNIQUE, 0, op, "You are not allowed to use weapons"); + new_draw_info(NDI_UNIQUE, 0, op, "You are not allowed to use weapons"); return 1; } @@ -95,8 +95,8 @@ int command_motd(object *op, char *params) { - display_motd(op); - return 1; + display_motd(op); + return 1; } int command_bug(object *op, char *params) @@ -139,10 +139,10 @@ for(pl=first_player,players=0;pl!=NULL;pl=pl->next,players++); for(m=first_map,nrofmaps=0;m!=NULL;m=m->next,nrofmaps++) - if(m->in_memory == MAP_IN_MEMORY) { - mapmem+=MAP_WIDTH(m)*MAP_HEIGHT(m)*(sizeof(object *)+sizeof(MapSpace)); - nrm++; - } + if(m->in_memory == MAP_IN_MEMORY) { + mapmem+=MAP_WIDTH(m)*MAP_HEIGHT(m)*(sizeof(object *)+sizeof(MapSpace)); + nrm++; + } sprintf(errmsg,"Sizeof: object=%ld player=%ld map=%ld", (long)sizeof(object),(long)sizeof(player),(long)sizeof(mapstruct)); new_draw_info(NDI_UNIQUE, 0,op,errmsg); @@ -211,46 +211,46 @@ region *r = get_region_by_name(get_name_of_region_for_map(op->map)); if (!r) - return; - /* This should only be possible if regions are not operating on this server. */ + return; + /* This should only be possible if regions are not operating on this server. */ new_draw_info_format(NDI_UNIQUE, 0,op, - "You are in %s. \n %s", get_region_longname(r), get_region_msg(r)); + "You are in %s. \n %s", get_region_longname(r), get_region_msg(r)); } void current_map_info(object *op) { mapstruct *m = op->map; if (!m) - return; + return; new_draw_info_format(NDI_UNIQUE, 0,op, - "%s (%s) in %s", m->name, m->path, get_name_of_region_for_map(m)); + "%s (%s) in %s", m->name, m->path, get_name_of_region_for_map(m)); if (QUERY_FLAG(op,FLAG_WIZ)) { - new_draw_info_format(NDI_UNIQUE, 0, op, - "players:%d difficulty:%d size:%dx%d start:%dx%d timeout %ld", - m->players, m->difficulty, - MAP_WIDTH(m), MAP_HEIGHT(m), - MAP_ENTER_X(m), MAP_ENTER_Y(m), - MAP_TIMEOUT(m)); + new_draw_info_format(NDI_UNIQUE, 0, op, + "players:%d difficulty:%d size:%dx%d start:%dx%d timeout %ld", + m->players, m->difficulty, + MAP_WIDTH(m), MAP_HEIGHT(m), + MAP_ENTER_X(m), MAP_ENTER_Y(m), + MAP_TIMEOUT(m)); } if (m->msg) - new_draw_info(NDI_UNIQUE, NDI_NAVY, op, m->msg); + new_draw_info(NDI_UNIQUE, NDI_NAVY, op, m->msg); } #ifdef DEBUG_MALLOC_LEVEL int command_malloc_verify(object *op, char *parms) { - extern int malloc_verify(void); + extern int malloc_verify(void); - if (!malloc_verify()) - new_draw_info(NDI_UNIQUE, 0,op,"Heap is corrupted."); - else - new_draw_info(NDI_UNIQUE, 0,op,"Heap checks out OK."); - return 1; - } + if (!malloc_verify()) + new_draw_info(NDI_UNIQUE, 0,op,"Heap is corrupted."); + else + new_draw_info(NDI_UNIQUE, 0,op,"Heap checks out OK."); + return 1; + } #endif int command_whereabouts(object *op, char *params) { @@ -272,21 +272,21 @@ /* we only want to print out by places with a 'longname' field...*/ for (reg=first_region;reg!=NULL;reg=reg->next) { - if (reg->longname==NULL && reg->counter>0) { - if(reg->parent !=NULL) { - reg->parent->counter+=reg->counter; - reg->counter=0; - } - else /*uh oh, we shouldn't be here. */ - LOG(llevError,"command_whereabouts() Region %s with no longname has no parent", reg->name); - } - } - new_draw_info_format(NDI_UNIQUE, 0,op, - "In the world currently there are:"); - for (reg=first_region;reg!=NULL;reg=reg->next) - if(reg->counter>0) - new_draw_info_format(NDI_UNIQUE, 0,op, - "%u players in %s", reg->counter, get_region_longname(reg)); + if (reg->longname==NULL && reg->counter>0) { + if(reg->parent !=NULL) { + reg->parent->counter+=reg->counter; + reg->counter=0; + } + else /*uh oh, we shouldn't be here. */ + LOG(llevError,"command_whereabouts() Region %s with no longname has no parent", reg->name); + } + } + new_draw_info_format(NDI_UNIQUE, 0,op, + "In the world currently there are:"); + for (reg=first_region;reg!=NULL;reg=reg->next) + if(reg->counter>0) + new_draw_info_format(NDI_UNIQUE, 0,op, + "%u players in %s", reg->counter, get_region_longname(reg)); return 1; } @@ -330,43 +330,43 @@ reg=get_region_from_string(params); for (pl=first_player;pl!=NULL;pl=pl->next) { - if (pl->ob->map == NULL) - continue; - if (pl->hidden && !QUERY_FLAG(op, FLAG_WIZ)) continue; - - if(!region_is_child_of_region(get_region_by_map(pl->ob->map),reg)) continue; + if (pl->ob->map == NULL) + continue; + if (pl->hidden && !QUERY_FLAG(op, FLAG_WIZ)) continue; + + if(!region_is_child_of_region(get_region_by_map(pl->ob->map),reg)) continue; - if (pl->state==ST_PLAYING || pl->state==ST_GET_PARTY_PASSWORD) { + if (pl->state==ST_PLAYING || pl->state==ST_GET_PARTY_PASSWORD) { - num_players++; - chars = (chars_names *) realloc(chars, num_players*sizeof(chars_names)); + num_players++; + chars = (chars_names *) realloc(chars, num_players*sizeof(chars_names)); if (chars == NULL) { - new_draw_info(NDI_UNIQUE, 0, op, "who failed - out of memory!"); + new_draw_info(NDI_UNIQUE, 0, op, "who failed - out of memory!"); return 0; } - sprintf(chars[num_players-1].namebuf, "%s", pl->ob->name); - chars[num_players-1].login_order = num_players; - /*Check for WIZ's & AFK's*/ - if (QUERY_FLAG(pl->ob,FLAG_WIZ)) - num_wiz++; - if (QUERY_FLAG(pl->ob,FLAG_AFK)) - num_afk++; - } + sprintf(chars[num_players-1].namebuf, "%s", pl->ob->name); + chars[num_players-1].login_order = num_players; + /*Check for WIZ's & AFK's*/ + if (QUERY_FLAG(pl->ob,FLAG_WIZ)) + num_wiz++; + if (QUERY_FLAG(pl->ob,FLAG_AFK)) + num_afk++; + } } if (first_player != (player *) NULL) { if (reg == NULL) new_draw_info_format(NDI_UNIQUE, 0, op, "Total Players (%d) -- WIZ(%d) AFK(%d)", num_players, num_wiz, num_afk); - else if (reg->longname == NULL) - new_draw_info_format(NDI_UNIQUE, 0, op, "Total Players in %s (%d) -- WIZ(%d) AFK(%d)", + else if (reg->longname == NULL) + new_draw_info_format(NDI_UNIQUE, 0, op, "Total Players in %s (%d) -- WIZ(%d) AFK(%d)", reg->name, num_players, num_wiz, num_afk); - else - new_draw_info_format(NDI_UNIQUE, 0, op, "Total Players in %s (%d) -- WIZ(%d) AFK(%d)", + else + new_draw_info_format(NDI_UNIQUE, 0, op, "Total Players in %s (%d) -- WIZ(%d) AFK(%d)", reg->longname, num_players, num_wiz, num_afk); } qsort (chars, num_players, sizeof(chars_names), (int (*)(const void *, const void *))name_cmp); for (i=0;iob->name); - break; - case 't' : strcpy(return_val,(pl->own_title[0]=='\0'?pl->title:pl->own_title)); - break; + case 'N' : strcpy(return_val, pl->ob->name); + break; + case 't' : strcpy(return_val,(pl->own_title[0]=='\0'?pl->title:pl->own_title)); + break; case 'T' : if (pl->own_title[0]=='\0') strcpy(return_val,"the "); else *return_val='\0'; break; - case 'c' : sprintf(return_val,"%d",pl->ob->count); - break; - case 'n' : strcpy(return_val, "\n"); - break; - case 'h' : strcpy(return_val,pl->peaceful?"":" [Hostile]"); - break; - case 'l' : sprintf(return_val,"%d",pl->ob->level); - break; - case 'd' : strcpy(return_val,(QUERY_FLAG(pl->ob,FLAG_WIZ)?" [WIZ]":"")); - break; - case 'a' : strcpy(return_val,(QUERY_FLAG(pl->ob,FLAG_AFK)?" [AFK]":"")); - break; - case 'm' : strcpy(return_val,pl->ob->map->path); - break; - case 'M' : strcpy(return_val,pl->ob->map->name?pl->ob->map->name:"Untitled"); - break; - case 'r' : strcpy(return_val,get_name_of_region_for_map(pl->ob->map)); - break; - case 'R' : strcpy(return_val,get_region_longname(get_region_by_map(pl->ob->map))); - break; - case 'i' : strcpy(return_val,pl->socket.host); - break; - case '%' : strcpy(return_val, "%"); - break; - case '_' : strcpy(return_val, "_"); - break; + case 'c' : sprintf(return_val,"%d",pl->ob->count); + break; + case 'n' : strcpy(return_val, "\n"); + break; + case 'h' : strcpy(return_val,pl->peaceful?"":" [Hostile]"); + break; + case 'l' : sprintf(return_val,"%d",pl->ob->level); + break; + case 'd' : strcpy(return_val,(QUERY_FLAG(pl->ob,FLAG_WIZ)?" [WIZ]":"")); + break; + case 'a' : strcpy(return_val,(QUERY_FLAG(pl->ob,FLAG_AFK)?" [AFK]":"")); + break; + case 'm' : strcpy(return_val,pl->ob->map->path); + break; + case 'M' : strcpy(return_val,pl->ob->map->name?pl->ob->map->name:"Untitled"); + break; + case 'r' : strcpy(return_val,get_name_of_region_for_map(pl->ob->map)); + break; + case 'R' : strcpy(return_val,get_region_longname(get_region_by_map(pl->ob->map))); + break; + case 'i' : strcpy(return_val,pl->socket.host); + break; + case '%' : strcpy(return_val, "%"); + break; + case '_' : strcpy(return_val, "_"); + break; } } @@ -526,47 +526,47 @@ char buf[MAX_BUF]; if (settings.dynamiclevel < 1) - return 1; + return 1; if (op->map == NULL) - return 1; + return 1; if (worldmap_to_weathermap(op->x, op->y, &wx, &wy, op->map) != 0) - return 1; + return 1; if (QUERY_FLAG(op, FLAG_WIZ)) { - /* dump the weather, Dm style! Yo! */ - new_draw_info_format(NDI_UNIQUE, 0, op, "Real temp: %d", - real_world_temperature(op->x, op->y, op->map)); - new_draw_info_format(NDI_UNIQUE, 0, op, "Base temp: %d", - weathermap[wx][wy].temp); - new_draw_info_format(NDI_UNIQUE, 0, op, "Humid: %d", - weathermap[wx][wy].humid); - new_draw_info_format(NDI_UNIQUE, 0, op, "Wind: dir=%d speed=%d", - weathermap[wx][wy].winddir, weathermap[wx][wy].windspeed); - new_draw_info_format(NDI_UNIQUE, 0, op, "Pressure: %d", - weathermap[wx][wy].pressure); - new_draw_info_format(NDI_UNIQUE, 0, op, "Avg Elevation: %d", - weathermap[wx][wy].avgelev); - new_draw_info_format(NDI_UNIQUE, 0, op, "Rainfall: %d Water: %d", - weathermap[wx][wy].rainfall, weathermap[wx][wy].water); + /* dump the weather, Dm style! Yo! */ + new_draw_info_format(NDI_UNIQUE, 0, op, "Real temp: %d", + real_world_temperature(op->x, op->y, op->map)); + new_draw_info_format(NDI_UNIQUE, 0, op, "Base temp: %d", + weathermap[wx][wy].temp); + new_draw_info_format(NDI_UNIQUE, 0, op, "Humid: %d", + weathermap[wx][wy].humid); + new_draw_info_format(NDI_UNIQUE, 0, op, "Wind: dir=%d speed=%d", + weathermap[wx][wy].winddir, weathermap[wx][wy].windspeed); + new_draw_info_format(NDI_UNIQUE, 0, op, "Pressure: %d", + weathermap[wx][wy].pressure); + new_draw_info_format(NDI_UNIQUE, 0, op, "Avg Elevation: %d", + weathermap[wx][wy].avgelev); + new_draw_info_format(NDI_UNIQUE, 0, op, "Rainfall: %d Water: %d", + weathermap[wx][wy].rainfall, weathermap[wx][wy].water); } temp = real_world_temperature(op->x, op->y, op->map); new_draw_info_format(NDI_UNIQUE, 0, op, "It's currently %d degrees " - "Centigrade out.", temp); + "Centigrade out.", temp); /* humid */ if (weathermap[wx][wy].humid < 20) - new_draw_info(NDI_UNIQUE, 0, op, "It is very dry."); + new_draw_info(NDI_UNIQUE, 0, op, "It is very dry."); else if (weathermap[wx][wy].humid < 40) - new_draw_info(NDI_UNIQUE, 0, op, "It is very comfortable today."); + new_draw_info(NDI_UNIQUE, 0, op, "It is very comfortable today."); else if (weathermap[wx][wy].humid < 60) - new_draw_info(NDI_UNIQUE, 0, op, "It is a bit muggy."); + new_draw_info(NDI_UNIQUE, 0, op, "It is a bit muggy."); else if (weathermap[wx][wy].humid < 80) - new_draw_info(NDI_UNIQUE, 0, op, "It is muggy."); + new_draw_info(NDI_UNIQUE, 0, op, "It is muggy."); else - new_draw_info(NDI_UNIQUE, 0, op, "It is uncomfortably muggy."); + new_draw_info(NDI_UNIQUE, 0, op, "It is uncomfortably muggy."); /* wind */ switch (weathermap[wx][wy].winddir) { @@ -580,27 +580,27 @@ case 8: sprintf(buf, "northwest"); break; } if (weathermap[wx][wy].windspeed < 5) - new_draw_info_format(NDI_UNIQUE, 0, op, "There is a mild breeze " - "coming from the %s.", buf); + new_draw_info_format(NDI_UNIQUE, 0, op, "There is a mild breeze " + "coming from the %s.", buf); else if (weathermap[wx][wy].windspeed < 10) - new_draw_info_format(NDI_UNIQUE, 0, op, "There is a strong breeze " - "coming from the %s.", buf); + new_draw_info_format(NDI_UNIQUE, 0, op, "There is a strong breeze " + "coming from the %s.", buf); else if (weathermap[wx][wy].windspeed < 15) - new_draw_info_format(NDI_UNIQUE, 0, op, "There is a light wind " - "coming from the %s.", buf); + new_draw_info_format(NDI_UNIQUE, 0, op, "There is a light wind " + "coming from the %s.", buf); else if (weathermap[wx][wy].windspeed < 25) - new_draw_info_format(NDI_UNIQUE, 0, op, "There is a strong wind " - "coming from the %s.", buf); + new_draw_info_format(NDI_UNIQUE, 0, op, "There is a strong wind " + "coming from the %s.", buf); else if (weathermap[wx][wy].windspeed < 35) - new_draw_info_format(NDI_UNIQUE, 0, op, "There is a heavy wind " - "coming from the %s.", buf); + new_draw_info_format(NDI_UNIQUE, 0, op, "There is a heavy wind " + "coming from the %s.", buf); else - new_draw_info_format(NDI_UNIQUE, 0, op, "The wind from the %s is " - "incredibly strong!", buf); + new_draw_info_format(NDI_UNIQUE, 0, op, "The wind from the %s is " + "incredibly strong!", buf); sky = weathermap[wx][wy].sky; if (temp <= 0 && sky > SKY_OVERCAST && sky < SKY_FOG) - sky += 10; /*let it snow*/ + sky += 10; /*let it snow*/ switch (sky) { case SKY_CLEAR: new_draw_info(NDI_UNIQUE, 0, op, "There isn''t a cloud in the sky."); break; case SKY_LIGHTCLOUD: new_draw_info(NDI_UNIQUE, 0, op, "There are a few light clouds in the sky."); break; @@ -658,8 +658,8 @@ int command_dumpbelow (object *op, char *params) { if (op && op->below) { - dump_object(op->below); - new_draw_info(NDI_UNIQUE, 0,op,errmsg); + dump_object(op->below); + new_draw_info(NDI_UNIQUE, 0,op,errmsg); /* Let's push that item on the dm's stack */ dm_stack_push( op->contr, op->below->count ); } @@ -680,7 +680,7 @@ if (i) { new_draw_info(NDI_UNIQUE, 0,op, "You will now walk through walls.\n"); - SET_FLAG(op, FLAG_WIZPASS); + SET_FLAG(op, FLAG_WIZPASS); } else { new_draw_info(NDI_UNIQUE, 0,op, "You will now be stopped by walls.\n"); CLEAR_FLAG(op, FLAG_WIZPASS); @@ -780,18 +780,18 @@ int val; if (!params) { - new_draw_info_format(NDI_UNIQUE, 0, op, - "Output sync time is presently %d", op->contr->outputs_sync); - return 1; + new_draw_info_format(NDI_UNIQUE, 0, op, + "Output sync time is presently %d", op->contr->outputs_sync); + return 1; } val=atoi(params); if (val>0) { - op->contr->outputs_sync = val; - new_draw_info_format(NDI_UNIQUE, 0, op, - "Output sync time now set to %d", op->contr->outputs_sync); + op->contr->outputs_sync = val; + new_draw_info_format(NDI_UNIQUE, 0, op, + "Output sync time now set to %d", op->contr->outputs_sync); } else - new_draw_info(NDI_UNIQUE, 0, op,"Invalid value for output_sync."); + new_draw_info(NDI_UNIQUE, 0, op,"Invalid value for output_sync."); return 1; } @@ -801,18 +801,18 @@ int val; if (!params) { - new_draw_info_format(NDI_UNIQUE, 0, op, - "Output count is presently %d", op->contr->outputs_count); - return 1; + new_draw_info_format(NDI_UNIQUE, 0, op, + "Output count is presently %d", op->contr->outputs_count); + return 1; } val=atoi(params); if (val>0) { - op->contr->outputs_count = val; - new_draw_info_format(NDI_UNIQUE, 0, op, - "Output count now set to %d", op->contr->outputs_count); + op->contr->outputs_count = val; + new_draw_info_format(NDI_UNIQUE, 0, op, + "Output count now set to %d", op->contr->outputs_count); } else - new_draw_info(NDI_UNIQUE, 0, op,"Invalid value for output_count."); + new_draw_info(NDI_UNIQUE, 0, op,"Invalid value for output_count."); return 1; } @@ -823,12 +823,12 @@ if(params==NULL || !sscanf(params, "%d", &i)) { new_draw_info_format(NDI_UNIQUE, 0, op, - "Set listen to what (presently %d)?", op->contr->listening); + "Set listen to what (presently %d)?", op->contr->listening); return 1; } op->contr->listening=(char) i; new_draw_info_format(NDI_UNIQUE, 0, op, - "Your verbose level is now %d.",i); + "Your verbose level is now %d.",i); return 1; } @@ -850,19 +850,19 @@ new_draw_info(NDI_UNIQUE, 0, pl, "\nStat Nat/Real/Max"); new_draw_info_format(NDI_UNIQUE, 0, pl, "Str %2d/ %3d/%3d", - pl->contr->orig_stats.Str, pl->stats.Str, 20+pl->arch->clone.stats.Str); + pl->contr->orig_stats.Str, pl->stats.Str, 20+pl->arch->clone.stats.Str); new_draw_info_format(NDI_UNIQUE, 0, pl, "Dex %2d/ %3d/%3d", - pl->contr->orig_stats.Dex, pl->stats.Dex, 20+pl->arch->clone.stats.Dex); + pl->contr->orig_stats.Dex, pl->stats.Dex, 20+pl->arch->clone.stats.Dex); new_draw_info_format(NDI_UNIQUE, 0, pl, "Con %2d/ %3d/%3d", - pl->contr->orig_stats.Con, pl->stats.Con, 20+pl->arch->clone.stats.Con); + pl->contr->orig_stats.Con, pl->stats.Con, 20+pl->arch->clone.stats.Con); new_draw_info_format(NDI_UNIQUE, 0, pl, "Int %2d/ %3d/%3d", - pl->contr->orig_stats.Int, pl->stats.Int, 20+pl->arch->clone.stats.Int); + pl->contr->orig_stats.Int, pl->stats.Int, 20+pl->arch->clone.stats.Int); new_draw_info_format(NDI_UNIQUE, 0, pl, "Wis %2d/ %3d/%3d", - pl->contr->orig_stats.Wis, pl->stats.Wis, 20+pl->arch->clone.stats.Wis); + pl->contr->orig_stats.Wis, pl->stats.Wis, 20+pl->arch->clone.stats.Wis); new_draw_info_format(NDI_UNIQUE, 0, pl, "Pow %2d/ %3d/%3d", - pl->contr->orig_stats.Pow, pl->stats.Pow, 20+pl->arch->clone.stats.Pow); + pl->contr->orig_stats.Pow, pl->stats.Pow, 20+pl->arch->clone.stats.Pow); new_draw_info_format(NDI_UNIQUE, 0, pl, "Cha %2d/ %3d/%3d", - pl->contr->orig_stats.Cha, pl->stats.Cha, 20+pl->arch->clone.stats.Cha); + pl->contr->orig_stats.Cha, pl->stats.Cha, 20+pl->arch->clone.stats.Cha); new_draw_info_format(NDI_UNIQUE, 0, pl, "\nAttack Mode: %s",pl->contr->peaceful? "Peaceful":"Hostile"); /* Can't think of anything else to print right now */ @@ -885,36 +885,36 @@ sprintf(buf,"%s/%s/",settings.localdir,settings.playerdir); t=buf+strlen(buf); if ((Dir=opendir(buf))!=NULL) { - const struct dirent *Entry; + const struct dirent *Entry; + + while ((Entry=readdir(Dir))!=NULL) { + /* skip '.' , '..' */ + if (!((Entry->d_name[0]=='.' && Entry->d_name[1]=='\0') || + (Entry->d_name[0]=='.' && Entry->d_name[1]=='.' && Entry->d_name[2]=='\0'))) + { + struct stat Stat; - while ((Entry=readdir(Dir))!=NULL) { - /* skip '.' , '..' */ - if (!((Entry->d_name[0]=='.' && Entry->d_name[1]=='\0') || - (Entry->d_name[0]=='.' && Entry->d_name[1]=='.' && Entry->d_name[2]=='\0'))) - { - struct stat Stat; - - strcpy(t,Entry->d_name); - if (stat(buf,&Stat)==0) { - /* This was not posix compatible + strcpy(t,Entry->d_name); + if (stat(buf,&Stat)==0) { + /* This was not posix compatible * if ((Stat.st_mode & S_IFMT)==S_IFDIR) { */ if (S_ISDIR(Stat.st_mode)){ - char buf2[MAX_BUF]; - struct tm *tm=localtime(&Stat.st_mtime); - sprintf(buf2,"%s\t%04d %02d %02d %02d %02d %02d", - Entry->d_name, - 1900+tm->tm_year, - 1+tm->tm_mon, - tm->tm_mday, - tm->tm_hour, - tm->tm_min, - tm->tm_sec); - new_draw_info(NDI_UNIQUE, 0, op, buf2); - } - } - } - } + char buf2[MAX_BUF]; + struct tm *tm=localtime(&Stat.st_mtime); + sprintf(buf2,"%s\t%04d %02d %02d %02d %02d %02d", + Entry->d_name, + 1900+tm->tm_year, + 1+tm->tm_mon, + tm->tm_mday, + tm->tm_hour, + tm->tm_min, + tm->tm_sec); + new_draw_info(NDI_UNIQUE, 0, op, buf2); + } + } + } + } } closedir(Dir); return 0; @@ -929,17 +929,17 @@ first=1; for(i=2; icontr->unapply]); - return 1; + new_draw_info_format(NDI_UNIQUE, 0, op, "applymode is set to %s", + types[op->contr->unapply]); + return 1; } if (!strcmp(params,"nochoice")) - op->contr->unapply=unapply_nochoice; + op->contr->unapply=unapply_nochoice; else if (!strcmp(params,"never")) - op->contr->unapply=unapply_never; + op->contr->unapply=unapply_never; else if (!strcmp(params,"always")) - op->contr->unapply=unapply_always; + op->contr->unapply=unapply_always; else { - new_draw_info_format(NDI_UNIQUE, 0, op, - "applymode: Unknown options %s, valid options are nochoice, never, always", - params); - return 0; + new_draw_info_format(NDI_UNIQUE, 0, op, + "applymode: Unknown options %s, valid options are nochoice, never, always", + params); + return 0; } new_draw_info_format(NDI_UNIQUE, 0, op, "Applymode %s set to %s", - (unapply==op->contr->unapply?"":" now"), - types[op->contr->unapply]); + (unapply==op->contr->unapply?"":" now"), + types[op->contr->unapply]); return 1; } @@ -977,41 +977,41 @@ { bowtype_t oldtype=op->contr->bowtype; static const char* const types[] = - {"normal", "threewide", "spreadshot", "firenorth", - "firene", "fireeast", "firese", "firesouth", - "firesw", "firewest", "firenw", "bestarrow"}; + {"normal", "threewide", "spreadshot", "firenorth", + "firene", "fireeast", "firese", "firesouth", + "firesw", "firewest", "firenw", "bestarrow"}; char buf[MAX_BUF]; int i, found; if (!params) { - new_draw_info_format(NDI_UNIQUE, 0, op, "bowmode is set to %s", - types[op->contr->bowtype]); - return 1; + new_draw_info_format(NDI_UNIQUE, 0, op, "bowmode is set to %s", + types[op->contr->bowtype]); + return 1; } for (i=0,found=0; i<=bow_bestarrow; i++) { - if (!strcmp(params, types[i])) { - found++; - op->contr->bowtype= (bowtype_t) i; - break; - } + if (!strcmp(params, types[i])) { + found++; + op->contr->bowtype= (bowtype_t) i; + break; + } } if (!found) { - sprintf(buf, "bowmode: Unknown options %s, valid options are:", params); - for (i=0; i<=bow_bestarrow; i++) { - strcat(buf, " "); - strcat(buf, types[i]); - if (i < bow_nw) - strcat(buf, ","); - else - strcat(buf, "."); - } - new_draw_info_format(NDI_UNIQUE, 0, op, buf); - return 0; + sprintf(buf, "bowmode: Unknown options %s, valid options are:", params); + for (i=0; i<=bow_bestarrow; i++) { + strcat(buf, " "); + strcat(buf, types[i]); + if (i < bow_nw) + strcat(buf, ","); + else + strcat(buf, "."); + } + new_draw_info_format(NDI_UNIQUE, 0, op, buf); + return 0; } new_draw_info_format(NDI_UNIQUE, 0, op, "bowmode %s set to %s", - (oldtype==op->contr->bowtype?"":"now"), - types[op->contr->bowtype]); + (oldtype==op->contr->bowtype?"":"now"), + types[op->contr->bowtype]); return 1; } @@ -1021,28 +1021,28 @@ static const char* const types[]={"normal", "sad", "defend", "arena"}; if (!params) { - new_draw_info_format(NDI_UNIQUE, 0, op, "petmode is set to %s", - types[op->contr->petmode]); - return 1; + new_draw_info_format(NDI_UNIQUE, 0, op, "petmode is set to %s", + types[op->contr->petmode]); + return 1; } if (!strcmp(params,"normal")) - op->contr->petmode=pet_normal; + op->contr->petmode=pet_normal; else if (!strcmp(params,"sad")) - op->contr->petmode=pet_sad; + op->contr->petmode=pet_sad; else if (!strcmp(params,"defend")) - op->contr->petmode=pet_defend; + op->contr->petmode=pet_defend; else if (!strcmp(params,"arena")) - op->contr->petmode=pet_arena; + op->contr->petmode=pet_arena; else { - new_draw_info_format(NDI_UNIQUE, 0, op, - "petmode: Unknown options %s, valid options are normal," - "sad (seek and destroy), defend, arena", params); - return 0; + new_draw_info_format(NDI_UNIQUE, 0, op, + "petmode: Unknown options %s, valid options are normal," + "sad (seek and destroy), defend, arena", params); + return 0; } new_draw_info_format(NDI_UNIQUE, 0, op, "petmode %s set to %s", - (oldtype==op->contr->petmode?"":"now"), - types[op->contr->petmode]); + (oldtype==op->contr->petmode?"":"now"), + types[op->contr->petmode]); return 1; } @@ -1056,28 +1056,28 @@ object *ob = obl->ob; next = obl->next; if (get_owner(ob) == op) { - if (target ==0) { - if (counter==0) - new_draw_info(NDI_UNIQUE, 0, op, "Pets:"); - new_draw_info_format(NDI_UNIQUE, 0, op, "%d %s - level %d", ++counter, ob->name, ob->level ); - } - else if (!have_shown_pet && ++counter==target) { - new_draw_info_format(NDI_UNIQUE, 0, op, "level %d %s", ob->level, ob->name); - new_draw_info_format(NDI_UNIQUE, 0, op, "%d/%d HP, %d/%d SP", - ob->stats.hp, ob->stats.maxhp, ob->stats.sp, ob->stats.maxsp); - /* this is not a nice way to do this, it should be made to be more like the statistics command */ - new_draw_info_format(NDI_UNIQUE, 0, op, "Str %d", ob->stats.Str); - new_draw_info_format(NDI_UNIQUE, 0, op, "Dex %d", ob->stats.Dex); - new_draw_info_format(NDI_UNIQUE, 0, op, "Con %d", ob->stats.Con); - new_draw_info_format(NDI_UNIQUE, 0, op, "Int %d", ob->stats.Int); - new_draw_info_format(NDI_UNIQUE, 0, op, "Wis %d", ob->stats.Wis); - new_draw_info_format(NDI_UNIQUE, 0, op, "Cha %d", ob->stats.Cha); - new_draw_info_format(NDI_UNIQUE, 0, op, "Pow %d", ob->stats.Pow); - new_draw_info_format(NDI_UNIQUE, 0, op, "wc %d damage %d ac %d ", - ob->stats.wc, ob->stats.dam, ob->stats.ac); - have_shown_pet=1; - } - } + if (target ==0) { + if (counter==0) + new_draw_info(NDI_UNIQUE, 0, op, "Pets:"); + new_draw_info_format(NDI_UNIQUE, 0, op, "%d %s - level %d", ++counter, ob->name, ob->level ); + } + else if (!have_shown_pet && ++counter==target) { + new_draw_info_format(NDI_UNIQUE, 0, op, "level %d %s", ob->level, ob->name); + new_draw_info_format(NDI_UNIQUE, 0, op, "%d/%d HP, %d/%d SP", + ob->stats.hp, ob->stats.maxhp, ob->stats.sp, ob->stats.maxsp); + /* this is not a nice way to do this, it should be made to be more like the statistics command */ + new_draw_info_format(NDI_UNIQUE, 0, op, "Str %d", ob->stats.Str); + new_draw_info_format(NDI_UNIQUE, 0, op, "Dex %d", ob->stats.Dex); + new_draw_info_format(NDI_UNIQUE, 0, op, "Con %d", ob->stats.Con); + new_draw_info_format(NDI_UNIQUE, 0, op, "Int %d", ob->stats.Int); + new_draw_info_format(NDI_UNIQUE, 0, op, "Wis %d", ob->stats.Wis); + new_draw_info_format(NDI_UNIQUE, 0, op, "Cha %d", ob->stats.Cha); + new_draw_info_format(NDI_UNIQUE, 0, op, "Pow %d", ob->stats.Pow); + new_draw_info_format(NDI_UNIQUE, 0, op, "wc %d damage %d ac %d ", + ob->stats.wc, ob->stats.dam, ob->stats.ac); + have_shown_pet=1; + } + } } if (counter == 0) new_draw_info(NDI_UNIQUE, 0, op, "you have no pets."); @@ -1092,26 +1092,26 @@ static const char* const types[]={"inventory", "keyrings", "containers"}; if (!params) { - new_draw_info_format(NDI_UNIQUE, 0, op, "usekeys is set to %s", - types[op->contr->usekeys]); - return 1; + new_draw_info_format(NDI_UNIQUE, 0, op, "usekeys is set to %s", + types[op->contr->usekeys]); + return 1; } if (!strcmp(params,"inventory")) - op->contr->usekeys=key_inventory; + op->contr->usekeys=key_inventory; else if (!strcmp(params,"keyrings")) - op->contr->usekeys=keyrings; + op->contr->usekeys=keyrings; else if (!strcmp(params,"containers")) - op->contr->usekeys=containers; + op->contr->usekeys=containers; else { - new_draw_info_format(NDI_UNIQUE, 0, op, - "usekeys: Unknown options %s, valid options are inventory, keyrings, containers", - params); - return 0; + new_draw_info_format(NDI_UNIQUE, 0, op, + "usekeys: Unknown options %s, valid options are inventory, keyrings, containers", + params); + return 0; } new_draw_info_format(NDI_UNIQUE, 0, op, "usekeys %s set to %s", - (oldtype==op->contr->usekeys?"":"now"), - types[op->contr->usekeys]); + (oldtype==op->contr->usekeys?"":"now"), + types[op->contr->usekeys]); return 1; } @@ -1119,13 +1119,13 @@ { int i; if (!op) - return 0; + return 0; for (i=0; iresist[i]); + new_draw_info_format(NDI_UNIQUE, 0, op, "%-20s %+5d", + attacktype_desc[i], op->resist[i]); } /* If dragon player, let's display natural resistances */ @@ -1166,37 +1166,37 @@ int namelen, linelen=0; switch (what) { - case 1: - sprintf(filename, "%s/wizhelp", settings.datadir); - new_draw_info(NDI_UNIQUE, 0,op, " Wiz commands:"); - break; - case 3: - sprintf(filename, "%s/mischelp", settings.datadir); - new_draw_info(NDI_UNIQUE, 0,op, " Misc help:"); - break; - default: - sprintf(filename, "%s/help", settings.datadir); - new_draw_info(NDI_UNIQUE, 0,op, " Commands:"); - break; + case 1: + sprintf(filename, "%s/wizhelp", settings.datadir); + new_draw_info(NDI_UNIQUE, 0,op, " Wiz commands:"); + break; + case 3: + sprintf(filename, "%s/mischelp", settings.datadir); + new_draw_info(NDI_UNIQUE, 0,op, " Misc help:"); + break; + default: + sprintf(filename, "%s/help", settings.datadir); + new_draw_info(NDI_UNIQUE, 0,op, " Commands:"); + break; } if (!(dirp=opendir(filename))) - return; + return; line[0] ='\0'; for (de = readdir(dirp); de; de = readdir(dirp)) { - namelen = NAMLEN(de); - if (namelen <= 2 && *de->d_name == '.' && - (namelen == 1 || de->d_name[1] == '.' ) ) - continue; - linelen +=namelen+1; - if (linelen > 42) { - new_draw_info(NDI_UNIQUE, 0,op, line); - sprintf(line, " %s", de->d_name); - linelen =namelen+1; - continue; - } - strcat(line, " "); - strcat(line, de->d_name); + namelen = NAMLEN(de); + if (namelen <= 2 && *de->d_name == '.' && + (namelen == 1 || de->d_name[1] == '.' ) ) + continue; + linelen +=namelen+1; + if (linelen > 42) { + new_draw_info(NDI_UNIQUE, 0,op, line); + sprintf(line, " %s", de->d_name); + linelen =namelen+1; + continue; + } + strcat(line, " "); + strcat(line, de->d_name); } new_draw_info(NDI_UNIQUE, 0,op, line); closedir(dirp); @@ -1268,7 +1268,7 @@ line[MAX_BUF-1] ='\0'; len =strlen(line)-1; if (line[len] == '\n') - line[len] ='\0'; + line[len] ='\0'; new_draw_info(NDI_UNIQUE, 0,op, line); } fclose(fp); @@ -1311,12 +1311,12 @@ if (op) { sprintf(filename, "%s/help/%s", settings.datadir, params); if (stat(filename, &st) || !S_ISREG(st.st_mode)) { - if (QUERY_FLAG(op, FLAG_WIZ)) { - sprintf(filename, "%s/wizhelp/%s", settings.datadir, params); - if (stat(filename, &st) || !S_ISREG(st.st_mode)) - goto nohelp; - } else - goto nohelp; + if (QUERY_FLAG(op, FLAG_WIZ)) { + sprintf(filename, "%s/wizhelp/%s", settings.datadir, params); + if (stat(filename, &st) || !S_ISREG(st.st_mode)) + goto nohelp; + } else + goto nohelp; } } } @@ -1384,7 +1384,7 @@ int command_real_quit (object *op, char *params) { send_query(&op->contr->socket,CS_QUERY_SINGLECHAR, - "Quitting will delete your character.\nAre you sure you want to quit (y/n):"); + "Quitting will delete your character.\nAre you sure you want to quit (y/n):"); op->contr->state = ST_CONFIRM_QUIT; return 1; @@ -1397,18 +1397,18 @@ int command_explore (object *op, char *params) { if (settings.explore_mode == FALSE) - return 1; + return 1; /* * I guess this is the best way to see if we are solo or not. Actually, * are there any cases when first_player->next==NULL and we are not solo? */ if ((first_player!=op->contr) || (first_player->next!=NULL)) { - new_draw_info(NDI_UNIQUE, 0,op,"You can not enter explore mode if you are in a party"); + new_draw_info(NDI_UNIQUE, 0,op,"You can not enter explore mode if you are in a party"); } else if (op->contr->explore) - new_draw_info(NDI_UNIQUE, 0,op, "There is no return from explore mode"); + new_draw_info(NDI_UNIQUE, 0,op, "There is no return from explore mode"); else { - op->contr->explore=1; - new_draw_info(NDI_UNIQUE, 0,op, "You are now in explore mode"); + op->contr->explore=1; + new_draw_info(NDI_UNIQUE, 0,op, "You are now in explore mode"); } return 1; } @@ -1433,8 +1433,8 @@ void receive_player_name(object *op,char k) { if(!check_name(op->contr,op->contr->write_buf+1)) { - get_name(op); - return; + get_name(op); + return; } FREE_AND_COPY(op->name, op->contr->write_buf+1); FREE_AND_COPY(op->name_pl, op->contr->write_buf+1); @@ -1485,9 +1485,9 @@ player *pl; if (settings.explore_mode == TRUE) { - for (pl = first_player; pl != (player *) NULL; pl = pl->next) - if (pl->explore) - return 1; + for (pl = first_player; pl != (player *) NULL; pl = pl->next) + if (pl->explore) + return 1; } return 0; } @@ -1498,8 +1498,8 @@ char buf[MAX_BUF]; if (settings.set_title == FALSE) { - new_draw_info(NDI_UNIQUE, 0, op, "You cannot change your title."); - return 1; + new_draw_info(NDI_UNIQUE, 0, op, "You cannot change your title."); + return 1; } /* dragon players cannot change titles */ @@ -1509,25 +1509,25 @@ } if(params == NULL) { - if(op->contr->own_title[0]=='\0') - sprintf(buf,"Your title is '%s'.", op->contr->title); - else - sprintf(buf,"Your title is '%s'.", op->contr->own_title); - new_draw_info(NDI_UNIQUE, 0,op,buf); - return 1; + if(op->contr->own_title[0]=='\0') + sprintf(buf,"Your title is '%s'.", op->contr->title); + else + sprintf(buf,"Your title is '%s'.", op->contr->own_title); + new_draw_info(NDI_UNIQUE, 0,op,buf); + return 1; } if(strcmp(params, "clear")==0 || strcmp(params, "default")==0) { - if(op->contr->own_title[0]=='\0') - new_draw_info(NDI_UNIQUE, 0,op,"Your title is the default title."); - else - new_draw_info(NDI_UNIQUE, 0,op,"Title set to default."); - op->contr->own_title[0]='\0'; - return 1; + if(op->contr->own_title[0]=='\0') + new_draw_info(NDI_UNIQUE, 0,op,"Your title is the default title."); + else + new_draw_info(NDI_UNIQUE, 0,op,"Title set to default."); + op->contr->own_title[0]='\0'; + return 1; } if((int)strlen(params) >= MAX_NAME) { - new_draw_info(NDI_UNIQUE, 0,op,"Title too long."); - return 1; + new_draw_info(NDI_UNIQUE, 0,op,"Title too long."); + return 1; } strcpy(op->contr->own_title, params); return 1; @@ -1539,12 +1539,12 @@ // new_draw_info(NDI_UNIQUE, 0, op, "You can not save on unholy ground"); // } else if (!op->stats.exp) { - new_draw_info(NDI_UNIQUE, 0, op, "You don't deserve to save yet."); + new_draw_info(NDI_UNIQUE, 0, op, "You don't deserve to save yet."); } else { - if(save_player(op,1)) - new_draw_info(NDI_UNIQUE, 0,op,"You have been saved."); - else - new_draw_info(NDI_UNIQUE, 0,op,"SAVE FAILED!"); + if(save_player(op,1)) + new_draw_info(NDI_UNIQUE, 0,op,"You have been saved."); + else + new_draw_info(NDI_UNIQUE, 0,op,"SAVE FAILED!"); } return 1; } @@ -1576,9 +1576,9 @@ char buf[MAX_BUF]; if (params==NULL || !sscanf(params, "%d", &i)) { - sprintf(buf, "Your current wimpy level is %d.", op->run_away); - new_draw_info(NDI_UNIQUE, 0,op, buf); - return 1; + sprintf(buf, "Your current wimpy level is %d.", op->run_away); + new_draw_info(NDI_UNIQUE, 0,op, buf); + return 1; } sprintf(buf, "Your new wimpy level is %d.", i); new_draw_info(NDI_UNIQUE, 0,op, buf); @@ -1611,14 +1611,14 @@ object *tmp; for (mp = styles; mp!=NULL; mp=mp->next) { - maps_used++; - mapmem += MAP_WIDTH(mp)*MAP_HEIGHT(mp)*(sizeof(object *)+sizeof(MapSpace)) + sizeof(mapstruct); - for (x=0; xabove) - objects_used++; - } - } + maps_used++; + mapmem += MAP_WIDTH(mp)*MAP_HEIGHT(mp)*(sizeof(object *)+sizeof(MapSpace)) + sizeof(mapstruct); + for (x=0; xabove) + objects_used++; + } + } } new_draw_info_format(NDI_UNIQUE, 0, op, "Style maps loaded: %d", maps_used); new_draw_info(NDI_UNIQUE, 0, op, "Memory used, not"); @@ -1634,26 +1634,26 @@ int counter=0, removecount=0; if (params == NULL) { terminate_all_pets(op); - new_draw_info(NDI_UNIQUE, 0, op, "Your pets have been killed."); + new_draw_info(NDI_UNIQUE, 0, op, "Your pets have been killed."); } else { - int target = atoi(params); - for(obl = first_friendly_object; obl != NULL; obl = next) { - object *ob = obl->ob; - next = obl->next; - if (get_owner(ob) == op) - if (++counter==target || (target==0 && !strcasecmp(ob->name, params))) { - if (!QUERY_FLAG(ob, FLAG_REMOVED)) - remove_ob(ob); - remove_friendly_object(ob); - free_object(ob); - removecount++; + int target = atoi(params); + for(obl = first_friendly_object; obl != NULL; obl = next) { + object *ob = obl->ob; + next = obl->next; + if (get_owner(ob) == op) + if (++counter==target || (target==0 && !strcasecmp(ob->name, params))) { + if (!QUERY_FLAG(ob, FLAG_REMOVED)) + remove_ob(ob); + remove_friendly_object(ob); + free_object(ob); + removecount++; } - } - if (removecount!=0) - new_draw_info_format(NDI_UNIQUE, 0, op, "killed %d pets.\n", removecount); - else - new_draw_info(NDI_UNIQUE, 0, op, "Couldn't find any suitable pets to kill.\n"); + } + if (removecount!=0) + new_draw_info_format(NDI_UNIQUE, 0, op, "killed %d pets.\n", removecount); + else + new_draw_info(NDI_UNIQUE, 0, op, "Couldn't find any suitable pets to kill.\n"); } return 0; }