📄 look.c
字号:
str +=pro+ YEL"生得虽不标致,倒也白净,有些动人之处。\n"NOR; if (per <= 17 && (per > 16)) str +=pro+ YEL"生得身材瘦小,肌肤无光,两眼无神。\n"NOR; if (per <= 16 && (per > 15)) str +=pro+ YEL"生得干黄枯瘦,脸色腊黄,毫无女人味。\n"NOR; if (per <= 15 && (per > 14)) str +=pro+ YEL"生得满脸疙瘩,皮色粗黑,丑陋不堪。\n"NOR; if (per <= 14 && (per > 13)) str +=pro+ RED"生得一嘴大暴牙,让人一看就没好感。\n"NOR; if (per <= 13 && (per > 12)) str +=pro+ RED"生得眼小如豆,眉毛稀疏,手如猴爪,不成人样。\n"NOR; if (per <= 12 && (per > 11)) str +=pro+ RED"生得八字眉,三角眼,鸡皮黄发,让人一见就想吐。\n"NOR; if (per <= 11 && (per > 10)) str +=pro+ RED"生得歪鼻斜眼,脸色灰败,直如鬼怪一般。\n"NOR; if (per <=10) str +=pro+ RED"生得丑如无盐,状如夜叉,女人长成这样真是人生悲剧。\n"NOR; } else { if (living(obj)) { if (!obj->query_temp("owner")) str += pro+"是一只未被驯服的畜生,眼光里满是戒心和敌意。\n"; else str += pro+"是一只被"+obj->query_temp("ownername")+"驯服的畜生,一副很温驯的样子。\n"; } } } str += sprintf("%s的武功看来", pro); str +=gettof(me,obj); str +=sprintf(","); str +=sprintf("出手似乎"); str +=getdam(me,obj); str +=sprintf("。\n"); } wearornot = 0; inv = all_inventory(obj); for(equip=0; equip<sizeof(inv); equip++) { if( inv[equip]->query("equipped") ) wearornot = 1; } //check about wife and husband if((obj->parse_command_id_list())[0]==me->query("couple/couple_id") ) { if( (string)me->query("gender")=="女性" ) { str += sprintf("%s是你的丈夫。\n", pro); } else{ str += sprintf("%s是你的妻子。\n", pro); } } if (me->query("jiebai") && stringp(me->query("jiebai"))) if (strsrch(me->query("jiebai"), obj->query("id")+">") >= 0) { if( obj->query("gender")=="女性" ) { if (obj->query("mud_age") > me->query("mud_age")) str += sprintf("%s是你的义姐。\n", pro); else str += sprintf("%s是你的结义妹子。\n", pro); } else{ if (obj->query("mud_age") > me->query("mud_age")) str += sprintf("%s是你的结义兄长。\n", pro); else str += sprintf("%s是你的义弟。\n", pro); } } if((wearornot == 0 ) && userp(obj) && !wizardp(obj) ) str += pro+"身上居然什么都没穿耶!\n"; if (!sizeof(inv) && me != obj && obj->query("race")=="人类") str += pro + "身上没有任何装备。\n"; // If we both has family, check if we have any relations. if( obj!=me && mapp(fam = obj->query("family")) && mapp(my_fam = me->query("family")) && fam["family_name"] == my_fam["family_name"] ) { if( fam["generation"]==my_fam["generation"] ) { if( (string)obj->query("gender") == "男性" || (string)obj->query("gender") == "无性") str += sprintf( pro + "是你的%s%s。\n", my_fam["master_id"] == fam["master_id"]? "": "同门", my_fam["enter_time"] > fam["enter_time"] ? "师兄": "师弟"); else str += sprintf( pro + "是你的%s%s。\n", my_fam["master_id"] == fam["master_id"]? "": "同门", my_fam["enter_time"] > fam["enter_time"] ? "师姐": "师妹"); } else if( fam["generation"] < my_fam["generation"] ) { if( my_fam["master_id"] == obj->query("id") ) str += pro + "是你的师父。\n"; else if( my_fam["generation"] - fam["generation"] > 1 ) str += pro + "是你的同门长辈。\n"; else if( fam["enter_time"] < my_fam["enter_time"] ) str += pro + "是你的师伯。\n"; else str += pro + "是你的师叔。\n"; } else { if( fam["generation"] - my_fam["generation"] > 1 ) str += pro + "是你的同门晚辈。\n"; else if( fam["master_id"] == me->query("id") ) str += pro + "是你的弟子。\n"; else str += pro + "是你的师侄。\n"; } } if( obj->query("max_qi") ) str += pro + COMBAT_D->eff_status_msg((int)obj->query("eff_qi")* 100 / (int)obj->query("max_qi")) + "\n"; if(obj->is_corpse() && obj->query("kantou") == 1) str += sprintf("%s连头都被割走了。\n", pro); inv = all_inventory(obj); if( sizeof(inv) ) { inv = map_array(inv, "inventory_look", this_object(), obj->is_corpse()? 0 : 1 ); inv -= ({ 0 }); if( sizeof(inv) ) str += sprintf( obj->is_corpse() ? "%s的遗物有:\n%s\n": "%s身上装备著:\n%s\n", pro, implode(inv, "\n") ); } if (!sizeof(inv) && me != obj && obj->query("race")=="人类") str += pro + "身上没有任何装备。\n"; message("vision", str, me);// Modified by Hop/* if( obj!=me && living(obj) && random((int)obj->query("shen")) < 0 - (int)me->query("int") * 10 ) { write( obj->name() + "突然转过头来瞪你一眼。\n"); COMBAT_D->auto_fight(obj, me, "berserk"); }*/ if( obj!=me && living(obj) && (((me_shen < 0) && (obj_shen > 0)) || ((me_shen > 0) && (obj_shen < 0))) && (((me_shen - obj_shen) > ((int)obj->query("neili") * 20)) || ((obj_shen - me_shen) > ((int)obj->query("neili") * 20)))) { write( obj->name() + "突然转过头来瞪你一眼。\n"); if(obj->query("age") > 17 && me->query("age") > 17) if(!wizardp(obj) && !wizardp(me) && !userp(obj)) COMBAT_D->auto_fight(obj, me, "berserk"); } return 1;}string inventory_look(object obj, int flag){ string str; str = obj->short(); if( obj->query("equipped") ) str = HIC " □" NOR + str; else if( !flag ) str = " " + str; else return 0; return str;}int look_room_item(object me, string arg){ object env; mapping item, exits; if( !objectp(env = environment(me)) ) return notify_fail("这里只有灰蒙蒙地一片,什么也没有。\n"); if( mapp(item = env->query("item_desc")) && !undefinedp(item[arg]) ) { if( stringp(item[arg]) ) write(item[arg]); else if( functionp(item[arg]) ) write((string)(*item[arg])(me)); return 1; } if( mapp(exits = env->query("exits")) && !undefinedp(exits[arg]) ) { if( objectp(env = find_object(exits[arg])) ) look_room(me, env); else { call_other(exits[arg], "???"); look_room(me, find_object(exits[arg])); } return 1; } return notify_fail("你要看什么?\n");}string tough_level(int power){ int lvl; int rawlvl; int grade = 1; if(power<0) power=0; rawlvl = (int) pow( (float) 1.0 * power, 0.3); lvl = to_int(rawlvl/grade); if( lvl >= sizeof(tough_level_desc) ) lvl = sizeof(tough_level_desc)-1; return tough_level_desc[((int)lvl)];}string getdam(object me, object obj){ int level; level = obj->query_temp("apply/damage") / 2 + obj->query("jiali"); if (!level) level=30; level = level / 30; if( level >= sizeof(heavy_level_desc) ) level = sizeof(heavy_level_desc)-1; return heavy_level_desc[((int)level)];}int help (object me){ write(@HELP指令格式: look [<物品>|<生物>|<方向>]这个指令让你查看你所在的环境、某件物品、生物、或是方向。HELP); return 1;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -