📄 look.c
字号:
// look.c// colored by ReyGod in 1/10/1997 ----- I love colorful world :)// 星星6/16 以前辈发现号(find)在inventory.c中的记数方法改成现在// 这个look.c中极重要的一部份,特此感谢find,得罪得罪。#include <room.h>#include <ansi.h>#include <combat.h>//#define TIME_TICK1 (time()*60-900000000)#define TIME_TICK1 (time()*60)//#define TIME_TICK1 ((time()-900000000)*24)//#define TIME_TICK1 (time()*60-890000000)inherit F_CLEAN_UP;int look_room(object me, object env);int look_item(object me, object obj);int look_living(object me, object obj);int look_room_item(object me, string arg);string getper(object me, object obj);string tough_level(int power);string gettof(object me, object obj);string getdam(object me, object obj);string *tough_level_desc = ({BLU"不堪一击"NOR,BLU"毫不足虑"NOR,BLU"不知所以"NOR,BLU"新学乍练"NOR,BLU"勉勉强强"NOR,BLU"初窥门径"NOR,BLU"初出茅庐"NOR,BLU"略知一二"NOR,BLU"普普通通"NOR,BLU"平平淡淡"NOR,HIB"平淡无奇"NOR,HIB"粗通皮毛"NOR,HIB"半生不熟"NOR,HIB"马马虎虎"NOR,HIB"略有小成"NOR,HIB"已有小成"NOR,HIB"渐入佳境"NOR,HIB"登堂入室"NOR,HIB"挥洒自如"NOR,HIB"融会贯通"NOR, CYN"心领神会"NOR,CYN"炉火纯青"NOR,CYN"了然於胸"NOR,CYN"略有大成"NOR,CYN"已有大成"NOR,CYN"豁然贯通"NOR,CYN"出类拔萃"NOR,CYN"无可匹敌"NOR,CYN"技冠群雄"NOR,CYN"神乎其技"NOR,HIC"出神入化"NOR,HIC"非同凡响"NOR,HIC"傲视群雄"NOR,HIC"登峰造极"NOR,HIC"无与伦比"NOR,HIC"所向披靡"NOR,HIC"一代宗师"NOR,HIC"精深奥妙"NOR,HIC"神功盖世"NOR,HIC"举世无双"NOR,HIR"惊世骇俗"NOR,HIR"撼天动地"NOR,HIR"震古铄今"NOR,HIR"超凡入圣"NOR,HIR"威镇寰宇"NOR,HIR"空前绝后"NOR,HIR"天人合一"NOR,HIR"深藏不露"NOR,HIR"横扫江湖"NOR,HIR"深不可测"NOR,HIY"威不可挡"NOR,HIY"技惊四座"NOR,HIR"强绝天下"NOR,HIY"威镇武林"NOR,HIR"前无古人"NOR,HIY"返璞归真"NOR,HIY"独步天下"NOR,HIY"旷古绝伦"NOR,HIY"天下无敌"NOR,HIY"天下第一"NOR,});string *heavy_level_desc= ({ "极轻", "很轻", "不重", "不轻", "很重", "极重" });void create() { seteuid(getuid()); }int main(object me, string arg){ object obj; int result; if( !arg ) result = look_room(me, environment(me)); else if( (obj = present(arg, me)) || (obj = present(arg, environment(me)))) { if( obj->is_character() ) result = look_living(me, obj); else result = look_item(me, obj); } else result = look_room_item(me, arg); return result;}int look_room(object me, object env){ int i, j, k, l; object *inv; mapping exits,*data; string str, *dirs; k = 0; data = allocate(3000); if( !env ) { write("你的四周灰蒙蒙地一片,什么也没有。\n"); return 1; }// 天气颜色 switch (NATURE_D->outdoor_room_outcolor()) { case "BLK": str = sprintf( BLK + "【"+ "%s"+"】"+ NOR + " - %s\n %s" + BLK + "%s" + NOR, env->query("short"), wizardp(me)? file_name(env): "", env->query("long"), env->query("outdoors")? NATURE_D->outdoor_room_description():""); break; case "RED": str = sprintf( RED + "【"+ "%s"+"】"+ NOR + " - %s\n %s" + RED + "%s" + NOR, env->query("short"), wizardp(me)? file_name(env): "", env->query("long"), env->query("outdoors")? NATURE_D->outdoor_room_description():""); break; case "HIR": str = sprintf( HIR + "【"+ "%s"+"】"+ NOR + " - %s\n %s" + HIR + "%s" + NOR, env->query("short"), wizardp(me)? file_name(env): "", env->query("long"), env->query("outdoors")? NATURE_D->outdoor_room_description():""); break; case "GRN": str = sprintf( GRN + "【"+ "%s"+"】"+ NOR + " - %s\n %s" + GRN + "%s" + NOR, env->query("short"), wizardp(me)? file_name(env): "", env->query("long"), env->query("outdoors")? NATURE_D->outdoor_room_description():""); break; case "HIG": str = sprintf( HIG + "【"+ "%s"+"】"+ NOR + " - %s\n %s" + HIG + "%s" + NOR, env->query("short"), wizardp(me)? file_name(env): "", env->query("long"), env->query("outdoors")? NATURE_D->outdoor_room_description():""); break; case "YEL": str = sprintf( YEL + "【"+ "%s"+"】"+ NOR + " - %s\n %s" + YEL + "%s" + NOR, env->query("short"), wizardp(me)? file_name(env): "", env->query("long"), env->query("outdoors")? NATURE_D->outdoor_room_description():""); break; case "HIY": str = sprintf( HIY + "【"+ "%s"+"】"+ NOR + " - %s\n %s" + HIY + "%s" + NOR, env->query("short"), wizardp(me)? file_name(env): "", env->query("long"), env->query("outdoors")? NATURE_D->outdoor_room_description():""); break; case "BLU": str = sprintf( BLU + "【"+ "%s"+"】"+ NOR + " - %s\n %s" + BLU + "%s" + NOR, env->query("short"), wizardp(me)? file_name(env): "", env->query("long"), env->query("outdoors")? NATURE_D->outdoor_room_description():""); break; case "HIB": str = sprintf( HIB + "【"+ "%s"+"】"+ NOR + " - %s\n %s" + HIB + "%s" + NOR, env->query("short"), wizardp(me)? file_name(env): "", env->query("long"), env->query("outdoors")? NATURE_D->outdoor_room_description():""); break; case "MAG": str = sprintf( MAG + "【"+ "%s"+"】"+ NOR + " - %s\n %s" + MAG + "%s" + NOR, env->query("short"), wizardp(me)? file_name(env): "", env->query("long"), env->query("outdoors")? NATURE_D->outdoor_room_description():""); break; case "HIM": str = sprintf( HIM + "【"+ "%s"+"】"+ NOR + " - %s\n %s" + HIM + "%s" + NOR, env->query("short"), wizardp(me)? file_name(env): "", env->query("long"), env->query("outdoors")? NATURE_D->outdoor_room_description():""); break; case "CYN": str = sprintf( CYN + "【"+ "%s"+"】"+ NOR + " - %s\n %s" + CYN + "%s" + NOR, env->query("short"), wizardp(me)? file_name(env): "", env->query("long"), env->query("outdoors")? NATURE_D->outdoor_room_description():""); break; case "HIC": str = sprintf( HIC + "【"+ "%s"+"】"+ NOR + " - %s\n %s" + HIC + "%s" + NOR, env->query("short"), wizardp(me)? file_name(env): "", env->query("long"), env->query("outdoors")? NATURE_D->outdoor_room_description():""); break; case "WHT": str = sprintf( WHT + "【"+ "%s"+"】"+ NOR + " - %s\n %s" + WHT + "%s" + NOR, env->query("short"), wizardp(me)? file_name(env): "", env->query("long"), env->query("outdoors")? NATURE_D->outdoor_room_description():""); break; case "HIW": str = sprintf( HIW + "【"+ "%s"+"】"+ NOR + " - %s\n %s" + HIW + "%s" + NOR, env->query("short"), wizardp(me)? file_name(env): "", env->query("long"), env->query("outdoors")? NATURE_D->outdoor_room_description():""); break; default: str = sprintf( HIC + "【"+ "%s"+"】"+ NOR + " - %s\n %s" + HIG + "%s" + NOR, env->query("short"), wizardp(me)? file_name(env): "", env->query("long"), env->query("outdoors")? NATURE_D->outdoor_room_description():""); break; }// 天气到此结束/* if (!objectp(present("fire", me)) && environment(me)->query("outdoors") && !wizardp(this_player()) && ((strsrch(CHINESE_D->chinese_date(TIME_TICK1), "子时") >= 0) || (strsrch(CHINESE_D->chinese_date(TIME_TICK1), "丑时") >= 0) || (strsrch(CHINESE_D->chinese_date(TIME_TICK1), "寅时") >= 0) || (strsrch(CHINESE_D->chinese_date(TIME_TICK1), "亥时") >= 0)) ) str = sprintf( "%s"+NOR+BLU+"\n 夜晚了,你虽然睁大了眼睛仔细观看,可还是看不清楚周围的事物。\n"+ "一切都被夜色所笼罩,连脚下的道路都模糊不清了...\n"+NOR+"", env->query("short"));*/ if( mapp(exits = env->query("exits")) ) { dirs = keys(exits); for(i=0; i<sizeof(dirs); i++) if( (int)env->query_door(dirs[i], "status") & DOOR_CLOSED ) dirs[i] = 0; dirs -= ({ 0 });/* if ( env->query("outdoors") && !present("fire", this_player()) && !wizardp(this_player()) && ((strsrch(CHINESE_D->chinese_date(TIME_TICK1), "子时") >= 0) || (strsrch(CHINESE_D->chinese_date(TIME_TICK1), "丑时") >= 0) || (strsrch(CHINESE_D->chinese_date(TIME_TICK1), "寅时") >= 0) || (strsrch(CHINESE_D->chinese_date(TIME_TICK1), "亥时") >= 0))) str += BLU + " 天色太黑了,你看不清明显的出路。\n"NOR; else */ // dirs -= ({ 0 }); if( sizeof(dirs)==0 ) str += HIR + " 这里没有任何明显的出路。\n"NOR; else if( sizeof(dirs)==1 ) str += YEL + " 这里明显的"+ HIC +"【出口】"+ HIG +"是" + BOLD + dirs[0] + NOR + "。\n"; else str += sprintf( HIG + " 这里明显的"+ HIC +"【出口】"+ HIG +"是" + BOLD + "%s" + NOR + " " + HIG + "和 " + BOLD + "%s" + NOR + "。\n", implode(dirs[0..sizeof(dirs)-2], "、"), dirs[sizeof(dirs)-1]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -