rankd.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 925 行 · 第 1/3 页
C
925 行
// rankd.c
// 1996-02-15 dts ranking related to "shen"
#include <ansi.h>
string query_rank(object ob)
{
mapping fam;
int exp;
int shen;
int budd;
int age;
string family;
if( ob->is_ghost() )
return HIB "【孤魂野鬼】" NOR;
shen = ob->query("shen");
exp = ob->query("combat_exp");
age = ob->query("age");
family = ob->query("family/family_name");
if ( (fam = ob->query("family")) && (fam["family_name"] == "少林派"
|| fam["family_name"] == "峨嵋派"
|| fam["family_name"] == "天龙寺"
|| fam["family_name"] == "雪山派"
|| fam["family_name"] == "恒山派"
))
budd = ob->query_skill("buddhism",1);
// if(exp >=2500000 && shen >=200000)
// return HIW "【传说中的大侠】" NOR;
// if(exp >=2500000 && shen <=-200000)
// return HIW "【传说中的魔王】" NOR;
// if(exp >=1500000)
// return HIW "【武林传奇】" NOR;
switch(ob->query("gender")) {
case "女性":
switch(wizhood(ob)) {
case "(admin)":
return HIM "【九天玄女】" NOR;
case "(arch)":
return HIY "【修罗女神】" NOR;
case "(wizard)":
return HIG "【瑶池仙女】" NOR;
case "(apprentice)":
return HIC "【 仙 妃 】" NOR;
case "(immortal)":
return HIC "【海洋使者】" NOR;
default:
/*if (!ob->query("class") || !family) {
if (((int)ob->query("PKS") > 100) &&
((int)ob->query("PKS") > (int)ob->query("MKS")))
return HIR "【饮血女魔】" NOR;
if ((int)ob->query("thief") > 10 )
return HIC "【女 惯 窃】" NOR;
if (shen >= 1000000) return HIC "【绝世天娇】" NOR;
else if (shen >= 100000 && exp >=800000)
return HIC "【旷世女侠】" NOR;
else if (shen >= 10000 && exp >=400000)
return HIC "【 大女侠 】" NOR;
else if (shen >= 1000 && exp >=200000)
return HIC "【 女 侠 】" NOR;
else if (shen >= 100 && exp >=50000)
return HIC "【 女少侠 】" NOR;
if (shen <= -1000000) return HIR "【盖世罗刹】" NOR;
else if (shen <= -100000 && exp >=800000)
return HIC "【旷世女魔】" NOR;
else if (shen <= -10000 && exp >=400000)
return HIC "【 大女魔 】" NOR;
else if (shen <= -1000 && exp >=200000)
return HIC "【 女 魔 】" NOR;
else if (shen <= -100 && exp >=50000)
return HIC "【 女少魔 】" NOR;
}
else*/
if (family=="日月神教")
{
if (exp>= 1000000 ) return HIW "【 圣 姑 】" NOR;
else if (exp>= 800000 ) return HIW "【 左护法 】" NOR;
else if (exp>= 700000) return HIY "【 堂 主 】" NOR;
else if (exp>= 600000) return HIY "【 坛 主 】" NOR;
else if (exp>= 50000) return YEL "【 香 主 】" NOR;
else if (exp>= 30000 || age >= 20) return CYN "【 女教众 】" NOR;
else return CYN "【 女教徒 】" NOR;
}else
if (family=="逍遥派" || family=="桃花岛")
{
if (exp>= 1000000 ) return HIW "【 逸 仙 】" NOR;
else if (exp>= 800000 ) return HIW "【 逸 贤 】" NOR;
else if (exp>= 700000) return HIY "【 逸 士 】" NOR;
else if (exp>= 600000) return HIY "【 逸 士 】" NOR;
else if (exp>= 50000) return YEL "【 逸 士 】" NOR;
else if (exp>= 30000 || age >= 20) return CYN "【 青 衣 】" NOR;
else return CYN "【女 少 冠】" NOR;
}else
if (family=="雪山寺")
{
if (exp>= 1000000 && shen >= 0) return HIW "【 欢喜佛 】" NOR;
else if (exp>= 1000000 && shen < 0) return HIW "【 欢喜魔 】" NOR;
else if (exp>= 700000) return HIY "【 圣 女 】" NOR;
else if (exp>= 600000) return HIY "【 飞 天 】" NOR;
else if (exp>= 50000) return YEL "【 乾达婆 】" NOR;
else if (exp>= 30000 || age >= 20) return CYN "【 神妙女 】" NOR;
else return CYN "【 授 事 】" NOR;
}else
if (family=="古墓派" || family=="华山派" || family=="凌霄城")
{
if (exp>= 2000000 && shen > 0) return HIW "【惊天一剑】" NOR;
else if (exp>= 2000000 && shen < 0) return HIW "【惊魔一剑】" NOR;
else if (exp>= 1000000) return HIR "【 剑 圣 】" NOR;
else if (exp>= 800000) return HIY "【 剑 仙 】" NOR;
else if (exp>= 700000) return HIC "【 女剑侠 】" NOR;
else if (exp>= 500000 ) return YEL "【 女剑客 】" NOR;
else return "【 女剑士 】";
}else
if (family=="姑苏慕容" || family=="大理段家")
{
if (exp>= 1000000) return HIR "【 王 妃 】" NOR;
else if (exp>= 800000) return HIY "【 诰命夫人 】" NOR;
else if (exp>= 700000) return HIC "【 女 官 】" NOR;
else if (exp>= 500000 ) return YEL "【 女 官 】" NOR;
else if ( age >= 18) return CYN "【 女 官 】" NOR;
else return "【 女 侍 】";
}else
if (family=="灵鹫宫")
{
if (exp>= 1000000) return HIR "【 玄 女 】" NOR;
else if (exp>= 800000) return HIY "【 仙 子 】" NOR;
else if (exp>= 700000) return HIC "【 天 女 】" NOR;
else if (exp>= 500000 ) return YEL "【逍遥女仙】" NOR;
else if ( age >= 18) return CYN "【 仙 姑 】" NOR;
else return "【 仙 姑 】";
}else
if (family=="明教")
{
if (exp>10000000)
return NOR "【"HIR"女副教主"NOR"】";
if (exp>5000000)
return NOR "【"HIM" 法 王 "NOR"】";
if (exp>1000000)
return NOR "【"GRN"女总护法"NOR"】";
if (exp>500000)
return NOR "【"YEL"女 护 法"NOR"】";
if (exp>300000)
return NOR "【"YEL"女总堂主"NOR"】";
if (exp>100000)
return NOR "【"CYN"女副堂主"NOR"】";
if (exp>25000)
return NOR "【"CYN"女 旗 主"NOR"】";
if (exp>10000)
return NOR "【"MAG"女副旗主"NOR"】";
if (exp>5000)
return NOR "【"MAG"女 教 众"NOR"】";
return "【 教 众 】" ;
}else
if (family=="云龙门")
{
return HIG"【女 义 士】"NOR;
}else
if (family=="星宿派")
{
if (exp>10000000)
return NOR "【"HIR"毒 后"NOR"】";
if (exp>5000000)
return NOR "【"HIM"毒 姬"NOR"】";
if (exp>1000000)
return NOR "【"GRN"毒 妖"NOR"】";
if (exp>500000)
return NOR "【"YEL" 毒罗刹 "NOR"】";
if (exp>300000)
return NOR "【"YEL" 毒罗刹 "NOR"】";
if (exp>100000)
return NOR "【"CYN" 毒罗刹 "NOR"】";
if (exp>25000)
return NOR "【"CYN" 毒罗刹 "NOR"】";
if (exp>10000)
return NOR "【"MAG" 毒罗刹 "NOR"】";
if (exp>5000)
return NOR "【"MAG"毒 怪"NOR"】";
return "【 马屁虫 】" ;
}else
if (family=="五毒教")
{
if (exp>10000000)
return NOR "【"HIR"毒 后"NOR"】";
if (exp>5000000)
return NOR "【"HIM"毒 姬"NOR"】";
if (exp>1000000)
return NOR "【"GRN"毒 妖"NOR"】";
if (exp>500000)
return NOR "【"YEL" 毒罗刹 "NOR"】";
if (exp>300000)
return NOR "【"YEL" 毒罗刹 "NOR"】";
if (exp>100000)
return NOR "【"CYN" 毒罗刹 "NOR"】";
if (exp>25000)
return NOR "【"CYN" 毒罗刹 "NOR"】";
if (exp>10000)
return NOR "【"MAG" 毒罗刹 "NOR"】";
if (exp>5000)
return NOR "【"MAG"毒 怪"NOR"】";
return "【 女教众 】" ;
}else
if (family=="白驼山派")
{
if (shen >= 0)
return NOR "【"HIR"魔 见 愁"NOR"】";
else
return NOR "【"HIR" 狂 魔 "NOR"】";
}else
switch(ob->query("class")) {
case "bonze":
if (budd >= 150)
return HIY "【 神 尼 】" NOR;
else if (budd >= 120)
return HIY "【 圣 尼 】" NOR;
else if (budd >= 90)
return HIY "【 德 尼 】" NOR;
else if (budd >= 60)
return HIC "【 贤 尼 】" NOR;
else if (budd >= 30)
return HIG "【 比丘尼 】" NOR;
else if (age <= 16)
return HIW "【 沙弥尼 】" NOR;
else
return HIW "【 学戒女 】" NOR;
case "taoist":
if (budd >= 180) return HIW "【 玄 女 】" NOR;
else if (budd >= 140) return HIY "【 仙 姑 】" NOR;
else if (budd >= 100) return YEL "【 散 人 】" NOR;
else if (budd >= 50 || age >= 20) return YEL "【 道 姑 】" NOR;
else return "【 小道姑 】";
case "bandit":
return HIW "【 女飞贼 】" NOR;
case "dancer":
return HIW "【绝色舞姬】" NOR;
case "scholar":
if (age <= 16)
return HIW "【 女学童 】" NOR;
else if (age <= 30)
return HIW "【遥遥佳人】" NOR;
else
return HIW "【 女学士 】" NOR;
case "officer":
return HIW "【 女 官 】" NOR;
case "fighter":
return HIW "【 女武者 】" NOR;
case "swordsman":
if (exp>= 1000000) return HIR "【 剑 圣 】" NOR;
else if (exp>= 800000) return HIY "【 剑 仙 】" NOR;
else if (exp>= 700000) return HIC "【 女剑侠 】" NOR;
else if (exp>= 500000 ) return YEL "【 女剑客 】" NOR;
else return "【 女剑士 】";
case "alchemist":
return HIW "【 女方士 】" NOR;
case "shaman":
return HIW "【 女巫医 】" NOR;
case "beggar":
return HIW "【 女叫化 】" NOR;
case "prostitute":
return HIW "【 妓 女 】" NOR;
case "mr":
return HIB "【 慕容世家 】" NOR;
case "tiezhang":
return HIY "【 铁掌弟子 】" NOR;
default:
if (((int)ob->query("PKS") > 100) &&
((int)ob->query("PKS") > (int)ob->query("MKS")))
return HIR "【饮血女魔】" NOR;
if ((int)ob->query("thief") > 10 )
return HIC "【女 惯 窃】" NOR;
if (shen >= 1000000) return HIC "【绝世天娇】" NOR;
else if (shen >= 100000 && exp >=800000)
return HIM "【旷世女侠】" NOR;
else if (shen >= 10000 && exp >=400000)
return HIG "【巾帼英雄】" NOR;
else if (shen >= 1000 && exp >=200000)
return HIY "【女中豪杰】" NOR;
else if (shen >= 100 && exp >=50000)
return CYN "【风尘侠女】" NOR;
if (shen <= -1000000) return HIR "【盖世罗刹】" NOR;
else if (shen <= -100000 && exp >=800000)
return HIG "【旷世女魔】" NOR;
else if (shen <= -10000 && exp >=400000)
return CYN "【嗜血女魔】" NOR;
else if (shen <= -1000 && exp >=200000)
return HIY "【饮血魔女】" NOR;
else if (shen <= -100 && exp >=50000)
return CYN "【刁蛮恶女】" NOR;
if (age <= 16)
return HIC "【妙龄少女】" NOR;
else
return HIM "【芊芊民女】" NOR;
}
if (((int)ob->query("PKS") > 100) &&
((int)ob->query("PKS") > (int)ob->query("MKS")))
return HIR "【饮血女魔】" NOR;
if ((int)ob->query("thief") > 10 )
return HIC "【女 惯 窃】" NOR;
if (shen >= 1000000) return HIC "【绝世天娇】" NOR;
else if (shen >= 100000 && exp >=800000)
return HIM "【旷世女侠】" NOR;
else if (shen >= 10000 && exp >=400000)
return HIG "【巾帼英雄】" NOR;
else if (shen >= 1000 && exp >=200000)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?