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

📄 riyue-bian.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// riyue-bian.c 日月鞭法// modified by Venus Oct.1997#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挥出,$w势道奇急,却是绝无劲风,自$n$l横掠而过,相距已不逾半尺",        "dodge":  -5,        "damage": 160,        "force" : 160,        "lvl" : 33,        "damage_type":  "鞭伤"]),([      "action": "$N手腕一抖,$w直昂上来,撞向$n面门,灵动威猛,便如一条张牙舞爪的墨龙相似",        "dodge": -10,        "damage":  195,        "force" : 320,        "lvl" : 63,        "damage_type":  "鞭伤"]),([      "action": "$N$w抖动,转成两个圆圈,从半空中往$n头顶盖下,不但招数精巧,内劲更是雄厚无比",        "dodge":  -15,        "damage": 120,        "force" : 480,        "lvl" : 93,        "damage_type":  "鞭伤"]),([      "action": "$N手运刚劲,$w上所发内力直如排山倒海一般,向着四面八方逼去,登时迫得$n连连倒退",        "dodge":  -15,        "damage": 140,        "force" : 520,        "lvl" : 124,        "damage_type":  "内伤",]),([      "action": "$N手腕一抖,$w向$n胸口点到,化成一条笔直的兵刃,如长矛,如杆棒,疾刺而至,招数厉害之极",        "dodge":  -15,        "damage": 160,        "force" : 400,        "lvl" : 185,        "damage_type":  "刺伤",]),([      "action": "$N鞭上内劲不绝催动,内功施展到了淋漓尽致,$w呼啸而出,向$n面门点去,鞭身未到,$w上所挟劲风已令$n一阵气窒",        "dodge":  -15,        "damage": 140,        "force" : 540,        "lvl" : 205,        "damage_type":  "内伤",]),([      "action": "$N手中$w滚动飞舞,宛若灵蛇乱颤,鞭影纵横,似真似幻,骤出三招九式,每一式中都隐藏数十招变化,数十下杀手",        "dodge":  -15,        "damage": 170,        "force" : 600,        "lvl" :  205,        "damage_type":  "鞭伤",]),([      "action":      "$N端坐不动,一招"+(order[random(13)])+"「裂石式」"NOR",手中$w抖得笔直,对准$n的胸腹要害连刺数鞭",        "dodge":       10,        "damage":      200,        "lvl" :        0,        "skill_name" : "裂石式",        "damage_type": "刺伤"]),([      "action":      "$N身形一转,一招"+(order[random(13)])+"「断川式」"NOR",手中$w如矫龙般腾空一卷,猛地向$n劈头打下",        "dodge":       20,        "damage":      200,        "lvl" :        60,        "skill_name" : "断川式",        "damage_type": "刺伤"]),([      "action":      "$N力贯鞭梢,一招"+(order[random(13)])+"「破云式」"NOR",手中$w舞出满天鞭影,排山倒海般扫向$n全身",        "dodge":       40,        "damage":      300,        "lvl" :        90,        "skill_name" : "破云式",        "damage_type": "刺伤"]),([	"action":"$N力贯鞭梢,一招"+(order[random(13)])+"「分海式」"NOR",手中$w舞出满天鞭影,排山倒海般扫向$n全身",	"dodge":       50,	"damage":      400,	"lvl" :        100,	"skill_name" : "分海式",	"damage_type": "刺伤"]),([	"action":"$N力贯鞭梢,一招"+(order[random(13)])+"「裂空式」"NOR",手中$w舞出满天鞭影,排山倒海般扫向$n全身",	"dodge":       60,	"damage":      500,	"lvl" :        110,	"skill_name" : "裂空式",	"damage_type": "刺伤"]),([	"action":"$N力贯鞭梢,一招"+(order[random(13)])+"「佛光普照」"NOR",手中$w舞出满天鞭影,排山倒海般扫向$n全身",	"dodge":       60,	"damage":      600,	"lvl" :        120,	"skill_name":  "佛光普照",	"damage_type": "刺伤"]),([	"action":"$N力贯鞭梢,一招"+(order[random(13)])+"「金刚伏魔」"NOR",手中$w舞出满天鞭影,排山倒海般扫向$n全身",	"dodge":       70,	"damage":      700,	"lvl" :        130,	"skill_name" : "金刚伏魔",	"damage_type": "刺伤"]),([	"action":"$N力贯鞭梢,一招"+(order[random(13)])+"「佛法无边」"NOR",手中$w舞出满天鞭影,排山倒海般扫向$n全身",	"dodge":       100,	"damage":      800,	"lvl" :        200,	"skill_name" : "佛法无边",	"damage_type": "刺伤"]),([     "action": "$N端坐不动,一式"+(order[random(13)])+"「阿那律刺」"NOR",手腕力抬,$w滚动飞舞,宛如灵蛇乱颤,前缠后绕,其力沾粘不散",       "dodge": 15,       "damage": 70,       "force": 150,       "lvl" : 0,       "skill_name" : "阿那律刺",       "damage_type":  "拉伤"]),([     "action": "$N一式"+(order[random(13)])+"「目捷连刺」"NOR",将手$w中抖得笔直,“呲呲”声中向$n疾刺而至,所挟劲风已令$n一阵气窒",       "dodge": 10,       "damage": 60,       "force": 200,       "lvl" : 30,       "skill_name" : "目捷连刺",       "damage_type":  "刺伤"]),([     "action": "$N内劲到处,将$w抖动转成两个圆圈,一式"+(order[random(13)])+"「舍利佛刺」"NOR",跃起从半空中往$n$l缠下",       "dodge":  20,       "damage": 150,       "force":  300,       "lvl" : 60,       "skill_name" : "舍利佛刺",       "damage_type":  "拉伤"]),([     "action": "$N劲走螺旋,一式"+(order[random(13)])+"「富楼那刺」"NOR",$w在$n眼前上圈下钩,左旋右转,连变了数种招式,忽然从$n$l处倒卷上来",       "dodge": 20,       "damage": 180,       "force": 200,       "lvl" : 90,       "skill_name" : "富楼那刺",       "damage_type":  "拉伤"]),([     "action": "$N一声高喝,吸气催力,一式"+(order[random(13)])+"「迦旋延刺」"NOR",$w急速转动,鞭影纵横,直中有圆,圆中有直,似真似幻,绞向$n",       "dodge": 25,       "damage": 150,       "force": 300,       "lvl" : 120,       "skill_name" : "迦旋延刺",       "damage_type":  "拉伤"]),([     "action": "$N含胸拔背、沉肩坠肘,一式"+(order[random(13)])+"「弘忍能刺」"NOR",力道灵动威猛,虚实分明,劲力从四面八方向$n挤压出去",       "dodge": 25,       "damage": 220,       "force": 350,       "lvl" : 150,       "skill_name" : "弘忍能刺",       "damage_type":  "拉伤"]),});int valid_enable(string usage) { return (usage == "whip") || (usage == "parry"); }int valid_learn(object me){    object weapon;    if( (int)me->query("max_neili") < 500 )       return notify_fail("你的内力不足,没有办法练日月鞭法, 多练些内力再来吧。\n");    if ((int)me->query_skill("hunyuan-yiqi", 1) < 50)       return notify_fail("你的混元一气功火候太浅。\n");         if ((int)me->query_skill("yijinjing", 1) < 160)                return notify_fail("你的易筋经内功火候太浅。\n");       if(!me->query("family") || me->query("family/family_name")!="少林派" )               return notify_fail("你不是少林弟子,如何能用这日月鞭法?\n");         if((int)me->query_skill("shaolin-shenfa",1) <=120)      		return notify_fail("你的少林身法火候不足,难以领悟日月鞭法。\n");         if((int)me->query_skill("yizhi-chan",1) <=120)      		return notify_fail("你的一指禅不足,难以领悟日月鞭法。\n");    if ( !objectp(weapon = me->query_temp("weapon"))    || ( string)weapon->query("skill_type") != "whip" )       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){        int i,j, level;             level   = (int) me->query_skill("riyue-bian",1);        if (random(level) > 270 && me->query("neili") > 800 ){        me->add("neili", -50);        return ([        "action":HIW"$N心神宁定,$w"NOR+HIW"挥动时无声无息,内力返照空明,功力精纯,不露棱角,$n祗觉身周气流略有异状,这一下袭击事先竟无半点朕兆"NOR,        "force" : 520+(level/5)+random(level/2),        "dodge" : 0,        "parry" : 0,        "damage" : 350+random(level/3),        "damage_type":"内伤",        ]);}        if (random(me->query_str()) >= 35 && me->query_skill("riyue-bian",1) > 120 &&             me->query_skill("parry",1) > 120 &&             me->query("neili") > 1000 && random(me->query("jiali")) >= 20 &&             me->query("jing")>300) {                me->add("jing",-8);                           me->add("neili", -30);                return ([                "action": HIR "$N手腕一抖,但见飞舞的$w从天而下和$n缠在一起,一股排山倒海的内劲无声息的向$n胸口撞去!"NOR,                "force": 400,                "dodge": 25,                "damage" : 300,                "damage_type": "内伤"]);        }           if (random(me->query_str()) >= 39 && me->query_skill("riyue-bian",1)> 150 &&                me->query_skill("parry",1) > 150 && random(me->query("jiali")) >= 20 &&                me->query("neili") > 1500 &&                me->query("jing")>500) {                me->add("jing",-10);                            me->add("neili", -50);                return ([                "action": HIR "$N把手中$w抖动成圈,绕着$n越转越急,越转越快,$p登时身不由主,被套得连转了几身,眼看就要摔倒!"NOR,                "force": 320,                "dodge": 35,                "damage" : 380,                "damage_type": "摔伤"]);        }                if (me->query_temp("riyue"))                {                                    return ([                      "action" : HIR+action[j]["action"]+NOR,                    "force" : (me->query("gender")=="男性"?action[j]["force"]:action[j]["force"]/2)+me->query_str()*5,                    "dodge":(me->query("gender")=="男性"?action[j]["dodge"]:action[j]["force"]+10)+random(15),                    "lvl" : action[j]["lvl"],                    "weapon" : action[j]["weapon"],                    "damage_type" : action[j]["damage_type"],                    ]);               }               level   = (int) me->query_skill("riyue-bian",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") != "whip")   return notify_fail("你使用的武器不对。\n");    if ((int)me->query("qi") < 50)   return notify_fail("你的体力不够练日月鞭法。\n");    me->receive_damage("qi", 5);    me->receive_damage("jing", 10);    return 1;}string perform_action_file(string action){       return __DIR__"riyue-bian/" + action;}mixed hit_ob(object me, object victim, int damage_bonus, int factor){if (damage_bonus <10) damage_bonus=10;      if( random(me->query_skill("riyue-bian",1)) > 130 ) {	  victim->receive_wound("qi", (damage_bonus-60)/2);        return HIY "$n被鞭风扫中,一阵巨痛!\n" NOR;}}

⌨️ 快捷键说明

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