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

📄 pili-biao.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// pili-biao.c 霹雳镖#include <ansi.h>inherit SKILL;  string *order = ({""HIY"", ""HIG"", ""RED"", ""MAG"", ""YEL"", ""HIC"", ""HIW"", ""HIR"",""HIB"", ""CYN"",""WHT"",""HIM"",""BLU""});mapping *action = ({([      "action" : "$N手中$w脱手而出,使出一招"+(order[random(13)])+"「火龙飞腾」"NOR",打向$n的$l  ",        "skill_name" : "火龙飞腾",        "force" : 100,        "dodge" : -5,        "parry" : 5,        "lvl" : 0,        "damage" : 120,        "damage_type" : "刺伤",	"post_action":  (: call_other, WEAPON_D, "throw_weapon" :)]),([      "action" : "$N身体一侧,使一招"+(order[random(13)])+"「火树银花」"NOR",手中$w弹向$n的大腿  ",        "skill_name" : "火树银花",        "force" : 140,        "dodge" : 5,        "parry" : 5,        "lvl" : 8,        "damage" : 140,        "damage_type" : "刺伤",	"post_action":  (: call_other, WEAPON_D, "throw_weapon" :)]),([      "action" : "$N腾空而起,使出"+(order[random(13)])+"「霹雳天降」"NOR",手中$w飞快地射向$n的$l  ",        "skill_name" : "霹雳天降",        "force" : 180,        "dodge" : 10,        "parry" : 5,        "lvl" : 16,        "damage" : 160,        "damage_type" : "刺伤",	"post_action":  (: call_other, WEAPON_D, "throw_weapon" :)]),([      "action" : "$N使出一招"+(order[random(13)])+"「火如雨下」"NOR",$w如暴雨般扑向$n  ",        "skill_name" : "火如雨下",        "force" : 220,        "dodge" : 5,        "parry" : 5,        "lvl" : 24,        "damage" : 180,        "damage_type" : "刺伤",	"post_action":  (: call_other, WEAPON_D, "throw_weapon" :)]),});int valid_enable(string usage) { return (usage == "throwing") || (usage == "parry"); }int valid_learn(object me){	if ((int)me->query("max_neili") < 400)		return notify_fail("你的内力不够。\n");	if ((int)me->query_skill("biyun-xinfa", 1) < 80)		return notify_fail("你的碧云心法火候太浅。\n");	if ((int)me->query_skill("biye-wu", 1) < 30)		return notify_fail("你的碧叶随风舞火候太浅。\n");	return 1;		}string query_skill_name(int level){        int i;        for(i = sizeof(action)-1; i >= 0; i--)                if(level >= action[i]["lvl"])                        return action[i]["skill_name"];}mapping query_action(object me, object weapon){        int i, level;	level   = (int) me->query_skill("pili-biao",1);        for(i = sizeof(action); i > 0; i--)                if(level > action[i-1]["lvl"])                        return action[NewRandom(i, 20, level/5)];}int practice_skill(object me){	object weapon;	if (!objectp(weapon = me->query_temp("weapon"))	|| (string)weapon->query("skill_type") != "throwing")		return notify_fail("你使用的武器不对。\n");	if ((int)me->query("qi") < 50)		return notify_fail("你的体力不够,练不了霹雳镖。\n");	me->receive_damage("qi", 30);	return 1;}mixed hit_ob(object me, object victim, int damage_bonus, int factor){object weapon;weapon=me->query_temp("weapon");                      if(weapon &&        (string)weapon->query("skill_type") == "throwing"){          victim->apply_condition("tmpili_poison", random(me->query_skill("pili-biao")) + 50 +	  victim->query_condition("tmpili_poison"));	}}string perform_action_file(string action){		return __DIR__"pili-biao/" + action;}int ob_hit(object ob, object me, int damage){	object weapon = me->query_temp("weapon");        string msg,dodge_skill,*limbs;        int i, j, level, p, q;                limbs = ob->query("limbs");        level = me->query_skill("pili-biao", 1);        if( me->is_busy()) return 1;        if( damage < 50 ) return 1;        if (  level > 100        && random(5)==1)        {            msg = HIC"$n出招时,突然所用的内力随着伤口流出!\n"NOR;            ob->add("neili",-level/2);            me->add("neili",level/2);            if ( random(2) == 1){             if (!ob->is_busy())             ob->start_busy(2+random(2));}}}

⌨️ 快捷键说明

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