bool spec_mayor( CHAR_DATA *ch ) { static const char open_path[] = /* market here | v */ "W3a3003b33000c11212f01d00di3gj114h53n00d11211Oek330330m233233Oel22c222112212111a1S."; static const char close_path[] = "W3a3003b33000c11212f01d00di3gj114h53n00d11211CEk330330m233233CEl22c222112212111a1S."; static const char *path; static int pos; static bool move; if ( !move ) { if ( time_info.hour == 6 ) { path = open_path; move = TRUE; pos = 0; } if ( time_info.hour == 20 ) { path = close_path; move = TRUE; pos = 0; } } if ( ch->fighting != NULL ) return spec_cast_cleric( ch ); if ( !move || ch->position < POS_SLEEPING ) return FALSE; switch ( path[pos] ) { case '0': case '1': case '2': case '3': case '4': case '5': move_char( ch, path[pos] - '0', FALSE ); break; case 'W': ch->position = POS_STANDING; act( "$n awakens and groans loudly.", ch, NULL, NULL, TO_ROOM ); break; case 'S': ch->position = POS_SLEEPING; act( "$n lies down and falls asleep.", ch, NULL, NULL, TO_ROOM ); break; case 'a': act( "$n says 'Hello Honey!'", ch, NULL, NULL, TO_ROOM ); break; case 'b': act( "$n says 'What a view! I must do something about that lair!'", ch, NULL, NULL, TO_ROOM ); break; case 'c': act( "$n says 'Vandals! Youngsters have no respect for anything!'", ch, NULL, NULL, TO_ROOM ); break; case 'd': act( "$n says 'Good day, citizens!'", ch, NULL, NULL, TO_ROOM ); break; case 'e': act( "$n says 'I hereby declare the city of Lindanise open!'", ch, NULL, NULL, TO_ROOM ); break; case 'E': act( "$n says 'I hereby declare the city of Lindanise closed!'", ch, NULL, NULL, TO_ROOM ); break; case 'f': act( "$n mutters 'Hmmm... only drunks and beggars. I'll close this inn soon!'", ch, NULL, NULL, TO_ROOM ); break; case 'g': act( "$n mutters 'Society of this cafe is much better than that inn's.'", ch, NULL, NULL, TO_ROOM ); break; case 'h': act( "$n says 'Hello everybody! Nice to meet you in my town.'", ch, NULL, NULL, TO_ROOM ); break; case 'i': act( "$n asks you to come cafe to have a cup of tea with him.", ch, NULL, NULL, TO_ROOM ); break; case 'j': act( "$n says 'Sorry, I have lot of work to do, can't stay here longer.'", ch, NULL, NULL, TO_ROOM ); break; case 'k': act( "$n growls 'Every day the same: in the mornings open gates and after close them.'", ch, NULL, NULL, TO_ROOM ); break; case 'l': act( "$n growls 'Next year I'll leave this work, it's quite a boring already.'", ch, NULL, NULL, TO_ROOM ); break; case 'm': act( "$n greets you and says 'Hello, haven't met you here earlier!'", ch, NULL, NULL, TO_ROOM ); break; case 'n': act( "$n says 'Only work, work ... I must be like a zombie to open these gates every day.'", ch, NULL, NULL, TO_ROOM ); break; case 'O': do_unlock( ch, "gate" ); do_open( ch, "gate" ); break; case 'C': do_close( ch, "gate" ); do_lock( ch, "gate" ); break; case '.' : move = FALSE; break; } pos++; return FALSE; }