void crumble(void) { tell_room(ENV(TO),"The stone troll crumbles to dust and disappears.\n"); destroy(); }
mixed cmd(string str) { if(!creatorp(this_player())) write("Nothing happens."); else tell_room(environment(this_player()),"A hollow voice says: \"%^CYAN%^Fool!%^RESET%^\""); return 1; }
int valid_leave(object me, string dir) { tell_room(__DIR__"treetop", "武场上,"+me->name()+"往"+to_chinese(dir)+"离去。\n" ); return 1; }
void do_closed() { delete_temp("have_turn"); delete("exits/enter"); tell_room(this_object(),"机关感受不到压力,石壁的门竟缓缓地自动关了起来。\n"); }
void process_players() { player *scan; char *oldstack; for (scan = flatlist_start; scan; scan = scan->flat_next) { if (scan->flat_next) if (((player *)scan->flat_next)->flat_previous != scan) { raw_wall("\n\n -=> Non-terminated flatlist <=-\n\n"); raw_wall("\n\n -=> Dumping end off of list <=-\n\n"); scan->flat_next=NULL; } if ((scan->fd < 0) || (scan->flags & PANIC) || (scan->flags & CHUCKOUT)) { oldstack = stack; current_player = scan; if (scan->location && scan->name[0] && !(scan->flags & RECONNECTION)) { sprintf(stack, " %s suddenly dissolve%s into a squintillion dots" " that quickly disperse.\n", scan->name, single_s(scan)); stack = end_string(stack); tell_room(scan->location, oldstack); stack = oldstack; save_player(scan); } if (!(scan->flags & RECONNECTION)) { command_type = 0; if (scan->gender==PLURAL) do_inform(scan, "[%s have disconnected] %s"); else do_inform(scan, "[%s has disconnected] %s"); if (scan->saved && !(scan->flags & NO_SAVE_LAST_ON)) scan->saved->last_on = time(0); } if (sys_flags & VERBOSE || scan->residency == 0) { if (scan->name[0]) sprintf(oldstack, "%s has disconnected from %s", scan->name, scan->inet_addr); else sprintf(oldstack, "Disconnect from login. [%s]", scan->inet_addr); stack = end_string(oldstack); log("newconn", oldstack); } destroy_player(scan); current_player = 0; stack = oldstack; } else if (scan->flags & INPUT_READY) { /* there used to be this here... if (!(scan->lagged) && !(scan->flags & PERM_LAG)) for reference... */ if (!(scan->lagged)) { current_player = scan; current_room = scan->location; input_for_one(scan); action = "processing players"; current_player = 0; current_room = 0; #ifdef PC if (scan->flags & PROMPT && scan == input_player) #else if (scan->flags & PROMPT) #endif { if (scan->saved_flags & CONVERSE) do_prompt(scan, scan->converse_prompt); else do_prompt(scan, scan->prompt); } } memset(scan->ibuffer, 0, IBUFFER_LENGTH); scan->flags &= ~INPUT_READY; } } }