// Space module for Assault 4.0 #include "space.h" PLANET_DATA planet_space[] = { // Name zval spacex spacey spacey, sun (T/F) { "Earth", Z_SPACE_EARTH, 15, 7, 10, FALSE }, // Add new planets here. { "INVALID", -1, 0, 0, 0, TRUE } }; void do_enterspace(CHAR_DATA *ch, char *argument) { bool found = FALSE; int i =0; send_to_char("This feature not yet fully implemented\r\n", ch); for(i=0;!strcmp(planet_space[i].name, "INVALID");i++) { if(ch->z == planet_space[i].zval) {found = TRUE;} } if(!found) { send_to_char("You are not in an orbit.\r\n", ch); } else { ch->z = Z_SUPER_SPACE; move_space(ch, planet_space[i].spacex, planet_space[i].spacey, planet_space[i].spacez); } return; } void move_space(CHAR_DATA *ch, int x, int y, int z) { // Set the coords on the player. if(ch == NULL) return; if(ch->z != Z_SUPER_SPACE) { send_to_char("You don't seem to be in \"Super Space\".", ch); return; } ch->spacex = x; ch->spacey = y; ch->spacez = z; do_space_look(ch); return; } void do_space_look(CHAR_DATA *ch) { int i = 0, j = 0, x, y, z; x = ch->spacex; y = ch->spacey; z = ch->spacez; send_to_char("*", ch); //Space header for(i=0;i < ch->pcdata->term_columns;i++) send_to_char("-", ch); send_to_char("*\r\n", ch); for(i=0;i < ch->pcdata->term_rows;i++) // Actual map of space around them { send_to_char("|", ch); for(j=0;j < ch->pcdata->term_columns;j++) { send_to_char("@@d**@@n ", ch);//Display the space around them. } send_to_char("|\r\n", ch); } send_to_char("*", ch); //Space footer for(i=0;i < ch->pcdata->term_columns;i++) send_to_char("-", ch); send_to_char("*\r\n", ch); }