⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 human.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
//Cracked by Kafei// human.c// From ES2// Modified by Xiang@XKX// A normal human is at least 40 kg weight#define BASE_WEIGHT 40000inherit F_DBASE;inherit F_SKILL;mapping *combat_action = ({	([      "action":               "$N挥拳攻击$n的$l",		"damage_type":  "瘀伤",	]),	([      "action":               "$N往$n的$l一抓",		"damage_type":  "擦伤",	]),	([      "action":               "$N往$n的$l狠狠地踢了一脚",		"damage_type":  "瘀伤",	]),	([      "action":               "$N提起拳头往$n的$l捶去",		"damage_type":  "内伤",	]),	([      "action":               "$N对准$n的$l用力挥出一拳",		"damage_type":  "瘀伤",	]),});void create(){	seteuid(getuid());	set("unit", "位");	set("gender", "男性");	set("can_speak", 1);	set("attitude", "peaceful");	set("limbs", ({		"头顶", "颈部", "胸口", "后心", "左肩", "右肩", "左臂",		"右臂", "左手", "右手", "两肋", "左脸", "腰间", "小腹", 		"左腿", "右腿", "右脸", "左脚", "右脚", "左耳", "右耳" 	}) );	set("dead_message",           "\n$N倒在地上,挣扎了几下就死了。\n\n"      );	set("unconcious_message",     "\n$N脚下一个不稳,跌在地上昏了过去。\n\n"  );	set("revive_message",         "\n$N慢慢睁开眼睛,清醒了过来。\n\n"        );//      set("comeout_message_outdoor","快步往$d离开。\n"                          );//      set("comein_message_outdoor", "快步走了过来。\n"                          );//      set("comeout_message_indoor", "往$d走了出去。\n"                          );//      set("comein_message_indoor",  "走了过来。\n"                              );//      set("fleeout_message",        "往$d落荒而逃了。\n"                        );//      set("fleein_message",         "跌跌撞撞地跑了过来,模样有些狼狈。\n"      );}void setup_human(object ob){	mapping my;	int xism_age, qi_age, jing_age;	int lvl, skill1, skill2, skill3, skill4;	my = ob->query_entire_dbase();	ob->set("default_actions", (: call_other, __FILE__, "query_action" :));		if (undefinedp(my["age"])) my["age"] = 14;	if (undefinedp(my["str"])) my["str"] = 10 + random(21);	if (undefinedp(my["con"])) my["con"] = 10 + random(21);	if (undefinedp(my["dex"])) my["dex"] = 10 + random(21);	if (undefinedp(my["int"])) my["int"] = 10 + random(21);	if (undefinedp(my["per"])) my["per"] = 10 + random(21);	if (undefinedp(my["kar"])) my["kar"] = 10 + random(21);	if( userp(ob) || undefinedp(my["max_potential"]) )		my["max_potential"] = 100 + to_int(sqrt(to_float(my["combat_exp"]))) / 10;	if( userp(ob) || undefinedp(my["max_jing"]) ) {		if( my["age"] <= 14 ) my["max_jing"] = 100;		else if( my["age"] <= 30 )			my["max_jing"] = 100 + (my["age"] - 14) * (my["int"] + my["con"])/2;		else my["max_jing"] = (my["int"] + my["con"]) * 8 + 100;		//jing start drop after 70 years old:		if( my["age"] > 70 )		{			my["max_jing"] -= (my["age"] - 70) * (my["int"] + my["con"])/7;		// 道家保精:			if ( mapp(my["family"]) && (my["family"]["family_name"] == "武当派"			|| my["family"]["family_name"] == "全真教")			&& (lvl = (int)ob->query_skill("taoism", 1)) >= 100 )				my["max_jing"] += (my["age"] - 70) * lvl/20 ;		}		// 佛家养精:30岁前补精,30岁后长精		if ( mapp(my["family"]) ) {			if ( my["family"]["family_name"] == "峨嵋派" )				xism_age = (int)ob->query_skill("mahayana", 1);			else if ( my["family"]["family_name"] == "少林派" )				xism_age = (int)ob->query_skill("buddhism", 1);			else if ( my["family"]["family_name"] == "大理段家" )				xism_age = (int)ob->query_skill("buddhism", 1);			else if ( my["family"]["family_name"] == "雪山派" || my["family"]["family_name"] == "血刀门" )				xism_age = (int)ob->query_skill("lamaism", 1);		}		else xism_age = 0;		if(xism_age > 39) {			xism_age = xism_age/2;			if (my["age"] <= 30) xism_age -= my["age"];			else xism_age -= 30;						skill1 = ob->query_skill("hunyuan-yiqi",1);			skill2 = ob->query_skill("linji-zhuang",1);			skill3 = ob->query_skill("longxiang-banruo",1);			skill4 = ob->query_skill("kurong-changong", 1);			if (xism_age > 0) {				skill1 = xism_age * (skill1/10);				skill2 = xism_age * (skill2/10);				skill3 = xism_age * (skill3/10);				skill4 = xism_age * (skill4/10);				if ( my["family"]["family_name"] == "少林派" )					my["max_jing"] += skill1;				else if ( my["family"]["family_name"] == "峨嵋派" )					my["max_jing"] += skill2;				else if ( my["family"]["family_name"] == "大理段家" )					my["max_jing"] += skill4;				else					my["max_jing"] += skill3;			} 		}		// 地刹炼魂:每死一次,丐帮精长根骨值		if( mapp(my["family"]) && my["family"]["family_name"] == "丐帮" )			my["max_jing"] += my["con"] * my["death_times"];		// 华山紫氤吟;30岁前补精,30岁后长精		if( mapp(my["family"]) && my["family"]["family_name"] == "华山派"		&& (jing_age =(int)ob->query_skill("ziyin-yin", 1)) > 39 )		{			jing_age = jing_age/2;			if (my["age"] <= 30) jing_age -= my["age"];			else jing_age -= 30;			skill1 = (int)ob->query_skill("zixia-gong",1);			if ( jing_age > 0 && ob->query("huashan/yin-jue") > 1 )			      my["max_jing"] += jing_age * (skill1/10);			if ( jing_age > 0 )				my["max_jing"] += jing_age * (skill1/15);		}		if( my["eff_jingli"] > 0 ) my["max_jing"] += my["eff_jingli"] / 4;	}	if( userp(ob) || undefinedp(my["max_qi"]) ) {				if( my["age"] <= 14 ) my["max_qi"] = 100;		else if( my["age"] <= 30 )			my["max_qi"] = 100 + (my["age"] - 14) * (my["con"] + my["str"])/2;		else my["max_qi"] = 100 + (my["con"] + my["str"]) * 8;					// drop qi after 70 years old:          		if( my["age"] > 70 ) 		{			my["max_qi"] -= (my["age"] - 70) * (my["con"] + my["str"])/7;				// 佛家保气:			if ( mapp(my["family"]) ) {			   if ( my["family"]["family_name"] == "少林派" )				lvl = (int)ob->query_skill("buddhism", 1);			   else if ( my["family"]["family_name"] == "峨嵋派" )				lvl = (int)ob->query_skill("mahayana", 1);			    else if ( my["family"]["family_name"] == "大理段家" )				lvl = (int)ob->query_skill("buddhism", 1);				else if ( my["family"]["family_name"] == "雪山派"				|| my["family"]["family_name"] == "血刀门" )				lvl = (int)ob->query_skill("lamaism", 1);		}		if(lvl >= 100)			my["max_qi"] += (my["age"] - 70) * lvl/20;		}		// 道家练气:30岁前补气,30岁后长气		if ( mapp(my["family"]) && my["family"]["family_name"] == "武当派"		&& (xism_age=(int)ob->query_skill("taoism", 1)) > 39 )		{			xism_age = xism_age/2;			if (my["age"] <= 30) xism_age -= my["age"];			else xism_age -= 30;			skill1 = ob->query_skill("force");			if (xism_age > 0 )				my["max_qi"] += xism_age * (skill1/10);		}		if ( mapp(my["family"]) && my["family"]["family_name"] == "全真教"		&& (xism_age=(int)ob->query_skill("taoism", 1)) > 39 )		{			xism_age = xism_age/2;			if (my["age"] <= 30) xism_age -= my["age"];			else xism_age -= 30;			skill1 = ob->query_skill("force");			if (xism_age > 0 )				my["max_qi"] += xism_age * (skill1/10);		}		// 星宿聚毒练气:30岁前补气,30岁后长气		  if ( mapp(my["family"]) && my["family"]["family_name"] == "星宿派"		  && (xism_age=(int)ob->query_skill("poison", 1)) > 39 )		  {			  xism_age = xism_age/2;			  if (my["age"] <= 30) xism_age -= my["age"];			  else xism_age -= 30;			  skill1 = (int)ob->query_skill("huagong-dafa",1);			  if (xism_age > 0 )				  my["max_qi"] += xism_age * (skill1/10);		  }		// 天魔解体:每死一次,丐帮气长根骨值之半		if( mapp(my["family"]) && my["family"]["family_name"] == "丐帮" )			my["max_qi"] += my["con"] * my["death_times"];		// 华山正气诀;30岁前补气,30岁后长气		if( mapp(my["family"]) && my["family"]["family_name"] == "华山派"		&& (qi_age =(int)ob->query_skill("zhengqi-jue", 1)) > 39 )		{			qi_age = qi_age/2;			if (my["age"] <= 30) qi_age -= my["age"];			else qi_age -= 30;			skill1 = (int)ob->query_skill("zixia-gong",1);			if ( qi_age > 0 && ob->query("huashan/yin-jue") > 1 )				my["max_qi"] += qi_age * (skill1/10);			else if ( qi_age > 0 )				my["max_qi"] += qi_age * (skill1/15);		}		// 桃花岛奇门盾甲:30岁前补气,30岁后长气			if ( mapp(my["family"]) && my["family"]["family_name"] == "桃花岛"			&& (xism_age=(int)ob->query_skill("qimen-dunjia", 1)) > 39 )			{				xism_age = xism_age/2;				if (my["age"] <= 30) xism_age -= my["age"];				else xism_age -= 30;			skill1 = (int)ob->query_skill("bitao-xuangong",1);			if (xism_age > 0 )			my["max_qi"] += xism_age * (skill1/10);			  }		if( my["max_neili"] > 0 ) my["max_qi"] += my["max_neili"] / 4;	}	if( userp(ob) || undefinedp(my["max_jingli"]) ) {		if( my["age"] <= 14 ) my["max_jingli"] = 100;		else if( my["age"] <= my["con"] )		my["max_jingli"] = 100 + (my["age"] - 14) * (my["str"] + my["dex"]);		else my["max_jingli"] = 100 + (my["str"] + my["dex"]) * (my["con"] - 14);		// drop jingli after 70 years old:		if( my["age"] > 70 ) 			my["max_jingli"] -= (my["age"] - 70) * my["con"]/5;		if( !userp(ob)		 && (my["max_jingli"] < my["max_qi"] || my["max_jingli"] < my["max_jing"]) )			my["max_jingli"] = my["max_qi"] > my["max_jing"] ? my["max_qi"] : my["max_jing"];		if( userp(ob) && my["max_jingli"] < 100 ) my["max_jingli"] = 100;		if( my["eff_jingli"] > 0 ) my["max_jingli"] += my["eff_jingli"];		if( (int)ob->query_skill("force") > (int)ob->query_skill("force", 1) 		 && my["eff_jingli"] > (int)ob->query_skill("force") * ob->query("con") / 2 ) {			my["eff_jingli"] = (int)ob->query_skill("force") * ob->query("con") / 2;			my["max_jingli"] = (int)ob->query_skill("force") * ob->query("con") / 2;		}		if( ob->is_character() && !userp(ob) && my["max_jingli"] <= 0)			my["max_jingli"] = 100 + my["age"] * 5;		}	if (undefinedp(my["max_jingli"]))		my["max_jingli"] = 1;	if (undefinedp(my["max_neili"]))		my["max_neili"] = 1;	ob->set_default_object(__FILE__);	if( !ob->query_weight() ) ob->set_weight(BASE_WEIGHT + (my["str"] - 10)* 2000);}mapping query_action(){	return combat_action[random(sizeof(combat_action))];}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -