#if defined(macintosh)
#include <types.h>
#else
#include <sys/types.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include "merc.h"
const char * exitname2 [6] =
{
"to the north",
"to the east",
"to the south",
"to the west",
"above you",
"below you"
};
char *get_room_description(CHAR_DATA *ch, char *descr)
{
char message[MAX_STRING_LENGTH];
char message2[MAX_STRING_LENGTH];
char message3[MAX_STRING_LENGTH];
char message4[MAX_STRING_LENGTH];
char message5[MAX_STRING_LENGTH];
char msg[MAX_STRING_LENGTH];
// char temp[MAX_STRING_LENGTH];
char rdesc[MAX_STRING_LENGTH];
// char buf[MAX_STRING_LENGTH];
// ROOM_INDEX_DATA *pRoom;
int i, letters, space, newspace, line;
// EXIT_DATA *pexit;
// int door;
strcpy(msg, ch->in_room->description);
// sprintf(msg, "%s\n\r", ch->in_room->description);
sprintf(message, " ");
sprintf(message2, " ");
sprintf(message3, " ");
sprintf(message4, " ");
sprintf(message5, " ");
switch(ch->in_room->sector_type) {
case 0:
strcat(message, " The inside air is still and musty. ");
break;
case 1:
strcat(message, " The City street is below your feet. ");
break;
case 2:
strcat(message, " Rocky, steep terrain leads up into these mountain peaks. ");
break;
case 3:
strcat(message, " Water swirls all around. ");
break;
case 4:
strcat(message, " The thin air swirls past, barely making even its presence known. ");
break;
case 5:
strcat(message, " The details of this location are strangely difficult to determine. ");
break;
case 6:
strcat(message, " Molten lava flows through the volcanic caverns. ");
break;
case 7:
strcat(message, " The solid ice shows no trace of life. ");
break;
default:
strcat(message, "");
break;
}
strcat(msg, message);
/* List appropriate room flags */
// strcpy(message, "");
if (IS_SET(ch->in_room->room_flags, ROOM_SAFE))
strcat(message2, "A magical aura seems to promote a feeling of peace. ");
if (IS_SET(ch->in_room->room_flags, ROOM_NO_RECALL))
strcat(message2, "A very weak pulling sensation emenates from this place. ");
if (IS_SET(ch->in_room->room_flags, ROOM_DARK))
strcat(message2, "It is quite dark in here. ");
if (IS_SET(ch->in_room->room_flags, ROOM_PRIVATE))
strcat(message2, "A sign on the wall states, 'This room is private.' ");
if (IS_SET(ch->in_room->room_flags, ROOM_GODS_ONLY))
strcat(message2, "This room is Flaged Gods Only ");
if (IS_SET(ch->in_room->room_flags, ROOM_NEWBIES_ONLY))
strcat(message2, "A magical shield eminates here allowing only newbies to enter. ");
if (IS_SET(ch->in_room->room_flags, ROOM_PET_SHOP))
strcat(message2, "You are in a Pet Shop. ");
if (IS_SET(ch->in_room->room_flags, ROOM_INDOORS))
strcat(message2, "You are inside. ");
strcat(msg, message2);
// strcat(msg, " " );
/*
if (pRoom->exit[0]->description != NULL){
strcpy(msg, pRoom->exit[0]->description);
strcat(msg, message);}
if (pRoom->exit[1]->description != NULL){
strcpy(msg, pRoom->exit[1]->description);
strcat(msg, message);}
if (pRoom->exit[2]->description != NULL){
strcpy(msg, pRoom->exit[2]->description);
strcat(msg, message);}
if (pRoom->exit[3]->description != NULL){
strcpy(msg, pRoom->exit[3]->description);
strcat(msg, message);}
if (pRoom->exit[4]->description != NULL){
strcpy(msg, pRoom->exit[4]->description);
strcat(msg, message);}
if (pRoom->exit[5]->description != NULL){
strcpy(msg, pRoom->exit[5]->description);
strcat(msg, message);}
strcat(msg, " " );
*/
if (ch->in_room->blood == 1000)
strcat(message3, "You notice that the room is completely drenched in blood. ");
else if (ch->in_room->blood > 750)
strcat(message3, "You notice that there is a very large amount of blood around the room. ");
else if (ch->in_room->blood > 500)
strcat(message3, "You notice that there is a large quantity of blood around the room. ");
else if (ch->in_room->blood > 250)
strcat(message3, "You notice a fair amount of blood on the floor. ");
else if (ch->in_room->blood > 100)
strcat(message3, "You notice several blood stains on the floor. ");
else if (ch->in_room->blood > 50)
strcat(message3, "You notice a few blood stains on the floor. ");
else if (ch->in_room->blood > 25)
strcat(message3, "You notice a couple of blood stains on the floor. ");
else if (ch->in_room->blood > 0)
strcat(message3, "You notice a few drops of blood on the floor. ");
else strcat(message3, "You notice nothing special in the room. ");
strcat(msg, message3);
// strcat(msg, " " );
if (weather_info.sunlight == SUN_LIGHT)
strcat(message4, "The day has begun. ");
if (weather_info.sunlight == SUN_RISE)
strcat (message4, "The sun rises in the east. ");
if (weather_info.sunlight == SUN_SET)
strcat (message4, "The sun slowly disappears in the west. ");
if (weather_info.sunlight == SUN_DARK)
strcat (message4, "The night has begun. ");
strcat(msg, message4);
// strcat(msg, " " );
if (weather_info.sky == SKY_CLOUDLESS)
strcat (message5, "The sky is getting cloudy. ");
if (weather_info.sky == SKY_CLOUDY)
{
if (weather_info.mmhg < 970 || (weather_info.mmhg < 990 && number_bits (2) == 0))
strcat (message5, "It starts to rain.\n\r");
else if (weather_info.mmhg > 1030 && number_bits (2) == 0)
strcat (message5, "The clouds disappear.\n\r");
}
if (weather_info.sky == SKY_RAINING)
{
if (weather_info.mmhg < 970 && number_bits (2) == 0)
strcat (message5, "Lightning flashes in the sky.\n\r");
else if (weather_info.mmhg > 1030 || (weather_info.mmhg > 1010 && number_bits (2) == 0))
strcat (message5, "The rain stopped.\n\r");
}
if (weather_info.sky == SKY_LIGHTNING)
{
if (weather_info.mmhg > 1010 || (weather_info.mmhg > 990 && number_bits (2) == 0))
strcat (message5, "The lightning has stopped.\n\r");
}
strcat(msg, message5);
strcat(msg, " " );
i=0;
letters=0;
/* Strip \r and \n */
for (i=0; i<strlen(msg); i++) {
if (msg[i] != '\r' && msg[i] != '\n') {
rdesc[letters]=msg[i];
letters++;
} else if (msg[i] == '\r') {
rdesc[letters]=' ';
letters++;
}
rdesc[letters]='\0';
}
i=0;
letters=0;
space=0;
newspace=0;
line=0;
strcpy(msg, rdesc);
/* Add \r\n's back in at their appropriate places */
for (i=0; i<strlen(msg); i++) {
if (msg[i]==' ') {
space=i;
newspace=letters;
}
if (line > 70) {
i=space;
letters=newspace;
rdesc[letters++]='\r';
rdesc[letters++]='\n';
line=0;
} else if (!(msg[i]==' ' && msg[i+1]==' ')) {
rdesc[letters]=msg[i];
letters++; /* Index for rdesc; i is the index for buf */
line++; /* Counts number of characters on this line */
}
rdesc[letters+1]='\0';
}
if (strlen(rdesc) > 0)
strcat(rdesc, "\r\n");
// descr=STRALLOC(rdesc);
mudstrlcpy( descr, rdesc, MSL );
return descr;
return descr;
}