📄 lookold.c
字号:
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( wizardp(me) && 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( mapp(exits) ){ str +=HIG + " 这里的"+ HIC +"【出口】"+ HIG +"有:"+ NOR + "\n"; dirs =keys(exits); for (i=0;i<sizeof(exits);i++){ if (!room=find_object(exits[dirs[i]])) room=load_object(exits[dirs[i]]); if (room) str+=sprintf(HIG + BOLD" %-12s"+NOR+YEL+" --> "+CYN+"%-10s"+RED+"%s.c\n"+NOR,dirs[i],room->query("short"),exits[dirs[i]]); else str+=sprintf(HIR +BOLD" %-12s"+NOR+YEL+" --> "+RED+"没有正常出口。\n"+NOR,dirs[i]); }}}else if( !wizardp(me) && 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( mapp(exits) ){str +=HIG + " 这里的"+ HIC +"【出口】"+ HIG +"有:"+ NOR + "\n"; dirs =keys(exits); for (i=0;i<sizeof(exits);i++){ if (!room=find_object(exits[dirs[i]])) room=load_object(exits[dirs[i]]); if (room) str+=sprintf(HIG + BOLD" %-12s"+NOR+YEL+" --> "+CYN+"%s"+RED+"\n"+NOR,dirs[i],room->query("short")); else str+=sprintf(HIR + BOLD" %-12s"+NOR+YEL+" --> "+RED+"没有正常出口。\n"+NOR,dirs[i]); }}}else str += HIR +" 这里没有任何明显的出路。"+NOR"+\n";/* i=0; foreach (obj in all_inventory(env)){ if (!wizardp(me) && obj->query("no_show")) continue; if (!obj->is_character() && (i++)>99) continue; if (obj==me || !me->visible(obj) ){ continue; } if (obj->query("money_id") || !obj->query("unit") || obj->is_character()){ if(!wizardp(me)){str+=sprintf(" %-12s\n",obj->short());} if(wizardp(me)){str+=sprintf(" %-28s" + YEL":"NOR + RED"%s" + ".c"NOR+ "\n",obj->short(),base_name(obj));} continue; } if (!mapp(my)) my=([obj->query("unit")+obj->short():1]); else{ amount=my[obj->query("unit")+obj->short()]; my[obj->query("unit")+obj->short()]=amount+1; } } if (mapp(my)){ dirs=keys(my); for (i=0;i<sizeof(my);i++) str+=sprintf(" %s%s\n",my[dirs[i]]==1?"":CHINESE_D->chinese_number(my[dirs[i]]),my[dirs[i]]==1?dirs[i][2..]:dirs[i]); } write(str); return 1;} */ inv = all_inventory(env); for (i = 0; i < sizeof(inv); i++) { if (inv[i]!=me && me->visible(inv[i]) && !inv[i]->query("money_id") && !inv[i]->query_temp("check_only")) { data[k]=([]); for(j = i; j < sizeof(inv); j++ ) { if ( inv[i]->query("name")==inv[j]->query("name") && inv[i]->query("id")==inv[j]->query("id") && !inv[j]->query_temp("check_only") ) { data[k]["id"]=inv[i]->short(); data[k]["unit"]=inv[i]->query("unit"); data[k]["num"]= data[k]["num"] + 1; inv[j]->set_temp("check_only", 1); } else continue; } k++; } else continue; } for (i = 0; i < sizeof(inv); i++) { if ( !inv[i]->query_temp("check_only") && inv[i]!=me && me->visible(inv[i]) ) str += sprintf("%s%s\n", " ", inv[i]->short()); } for (i = 0; i < sizeof(inv); i++) if ( inv[i]->query_temp("check_only") ) inv[i]->delete_temp("check_only"); if (k > 0) { for (l = 0; l < k; l++) str = sprintf("%s%s%s\n", str, (data[l]["num"]==1)? " ":" "+ chinese_number(data[l]["num"])+data[l]["unit"], data[l]["id"]); }realtime_map(me,env); write(str); return 1;}int look_item(object me, object obj){ mixed *inv; write(obj->long()); inv = all_inventory(obj); if( sizeof(inv) ) { inv = map_array(inv, "inventory_look", this_object() ); message("vision", sprintf("里面有:\n %s\n", implode(inv, "\n ") ), me); } return 1;}string gettof(object me, object ob){ object weapon; string skill_type,parry_type; mapping prepare; int attack_points; if( objectp(weapon = ob->query_temp("weapon")) ) { skill_type = weapon->query("skill_type"); } else { prepare = ob->query_skill_prepare(); if (!sizeof(prepare)) skill_type = "unarmed"; else skill_type = keys(prepare)[0]; } attack_points = COMBAT_D->skill_power(ob, skill_type, SKILL_USAGE_ATTACK); return tough_level((int)(attack_points/100));}int look_living(object me, object obj){ int per; int spi; int age; int weight; string str, limb_status, pro; mixed *inv; mapping my_fam, fam; int me_shen, obj_shen; int equip, wearornot; me_shen = (int)me->query("shen"); obj_shen = (int)obj->query("shen"); per = obj->query_per(); age = obj->query("age"); if( me!=obj ) message("vision", me->name() + "正盯著你看,不知道打些什么主意。\n", obj); str = obj->long(); pro = (obj==me) ? gender_self(obj->query("gender")) : gender_pronoun(obj->query("gender")); if (age>50) per = per*2/3; if (obj->query_temp("is_riding")) str += sprintf("%s正骑在%s上,低头看着你。\n", pro, obj->query_temp("is_riding")); if( (string)obj->query("race")=="人类" && intp(obj->query("age")) ) { if(wizardp(obj)) str+=sprintf(HIY"%s全身散发着耀眼的金光,看来是万物之尊的神类。\n"NOR,pro); str += sprintf("%s看起来约%s多岁,", pro, chinese_number(obj->query("age") / 10 * 10)); if ((string) obj->query("gender") == "男性" || (string) obj->query("gender") == "无性") { if (per >=40) str +=pro+ HIG"英姿勃发,一表人才,称为古往今来第一人!\n"; if (per <= 39 && (per > 38)) str +=pro+ HIG"清秀俊雅,相貌非凡,真是人中龙凤!\n"; if (per <= 38 && (per > 37)) str +=pro+ HIG"现在丰神俊朗,长身玉立,宛如玉树临风。\n"NOR; if (per <= 37 && (per > 36)) str +=pro+ HIG"现在飘逸出尘,潇洒绝伦。\n"NOR; if (per <= 36 && (per > 35)) str +=pro+ HIG"现在面如美玉,粉妆玉琢,俊美不凡。\n"NOR; if (per <= 35 && (per > 34)) str +=pro+ HIG"现在丰神如玉,目似朗星,令人过目难忘。\n"NOR; if (per <= 34 && (per > 33)) str +=pro+ HIY"现在粉面朱唇,身姿俊俏,举止风流无限。\n"NOR; if (per <= 33 && (per > 32)) str +=pro+ HIY"现在双目如星,眉梢传情,所见者无不为之心动。\n"NOR; if (per <= 32 && (per > 31)) str +=pro+ HIY"现在举动如行云游水,独蕴风情,吸引所有异性目光。\n"NOR; if (per <= 31 && (per > 30)) str +=pro+ HIY"现在双眼光华莹润,透出摄人心魄的光芒。\n"NOR; if (per <= 30 && (per > 29)) str +=pro+ HIY"生得英俊潇洒,风流倜傥。\n"NOR; if (per <= 29 && (per > 28)) str +=pro+ MAG"生得目似点漆,高大挺俊,令人心动。\n"NOR; if (per <= 28 && (per > 27))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -