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

📄 fanliangyi-dao.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// fanliangyi-dao.c 反两仪刀法#include <ansi.h>#include <skill.h>#include <weapon.h>#include <combat.h>inherit SKILL;mapping *action = ({([      "action" : "$N手中$w斜指,一招「混沌一破」,反身一顿,一刀向$n的$l撩去",        "force" : 120,        "dodge" : -10,        "lvl" : 0,        "skill_name" : "混沌一破",        "damage_type" : "割伤"]),([      "action" : "$N一招「太乙生萌」,左右腿虚点,$w一提一收,平刃挥向$n的颈部",        "force" : 140,        "dodge" : -10,        "damage" : 5,        "lvl" : 20,        "skill_name" : "太乙生萌",        "damage_type" : "割伤"]),([      "action" : "$N展身虚步,提腰跃落,一招「两仪合德」,刀锋化作两股斩向$n",        "force" : 160,        "dodge" : -5,        "damage" : 15,        "lvl" : 40,        "skill_name" : "两仪合德",        "damage_type" : "割伤"]),([      "action" : "$N一招「日月晦明」,$w大开大阖,自上而下划出一个大弧,笔直劈向$n",        "force" : 180,        "dodge" : 5,        "damage" : 25,        "lvl" : 60,        "skill_name" : "日月晦明",        "damage_type" : "割伤"]),([      "action" : "$N手中$w一沉,一招「无色无相」,双手持刃拦腰反切,砍向$n的胸口",        "force" : 200,        "dodge" : 10,        "damage" : 30,        "lvl" : 80,        "skill_name" : "无色无相",        "damage_type" : "割伤"]),([      "action" : "$N挥舞$w,使出一招「万劫不复」,上劈下撩,左挡右开,齐齐罩向$n",        "force" : 250,        "dodge" : 15,        "damage" : 35,        "lvl" : 100,        "skill_name" : "万劫不复",        "damage_type" : "割伤"])});int valid_enable(string usage) { return usage == "blade" || usage == "parry" ||usage == "array"; }int form_array(object leader)//int perform(object leader, object target){        object *member,ob, weapon;        int i,j,n;        int max,min,skill;        member = leader->query_team();        if( sizeof(member) != 2 )                return notify_fail("反两仪刀共需两人,少一个多一个都不行。\n");        j=sizeof (member);        for (i=0;i<j;i++)        {                ob=member[i];                if (!ob||!living(ob)||!ob->is_character())                {                        return notify_fail("你想和谁同使反两仪刀?\n");                }                if (ob->query_temp("array/name"))                {                        return notify_fail("已经组成刀阵了。\n");                }                if (environment(leader)!=environment(ob))                {                        return notify_fail("人数不够两人。\n");                }                if (!ob->query_skill("fanliangyi-dao",1))                {                        return notify_fail(ob->name()+"还不会反两仪刀法。\n");                }                if (ob->is_ghost())                {                        return notify_fail("只有阳间的人才能组刀阵。\n");                }                if( (int)ob->query("max_neili") < 50 )                        return notify_fail(ob->query("name")+"的内力不够。\n");                if( (string)ob->query_skill_mapped("force")!= "zixia-shengong")                        return notify_fail(ob->query("name")+"没有使用华山派内功。\n");                if( !(weapon = ob->query_temp("weapon"))                ||      (string)weapon->query("skill_type") != "blade" )                        return notify_fail(ob->query("name")+"必须拿把刀做武器。\n");                if( (int)ob->query_skill("fanliangyi-dao",1)<30)                        return notify_fail(ob->query("name")+"的反两仪刀法还不够熟练。\n");                if( (string)ob->query_skill_mapped("blade")!="fanliangyi-dao")                        return notify_fail(ob->query("name")+"必须使用反两仪刀法。\n");        }//get the average array skill of the team        n=0;        for (i=0;i<j;i++)        {                ob=member[i];                n+=(int)ob->query_skill("fanliangyi-dao",1);        }        n/=2;//get the difference of the array skill,//first get the max and mix skill level of the array        max=member[0]->query_skill("fanliangyi-dao",1);        min=max;        for (i=0;i<j;i++)        {                skill=member[i]->query_skill("fanliangyi-dao",1);                if(skill>max)                        max=skill;                else if(skill<min)                        min=skill;        }//and the leader is important        n += leader->query_skill("fanliangyi-dao", 1) * 5;        n /= max - min + 1;        for (i=0;i<j;i++)        {                ob=member[i];                ob->set_temp("no_quit",1);                ob->set_temp("array/name","fanliangyi-dao");                ob->set_temp("array/level",n);                ob->add_temp("apply/attack",n);                ob->add_temp("apply/defense", n);                ob->add_temp("apply/damage",n);                ob->add_temp("apply/armor", n);        }        message_vision( HIG "$N率领$N站定两仪方位,顿时两人之间显得浑然天成、毫

⌨️ 快捷键说明

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