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 + -
显示快捷键?