铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 1960|回复: 2

[新手指南] 琴道代码

[复制链接]
发表于 2010-3-19 08:58 | 显示全部楼层 |阅读模式

马上注册,结交更多侠友!

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
more /kungfu/skill/music.c
#include <ansi.h>
inherit SKILL;
string *order = ({""HIY"", ""HIG"", ""RED"", ""MAG"", ""YEL"", ""HIC"", ""HIW"", ""HIR"",""HIB"", ""CYN"",""WHT"",""HIM"",""BLU""});
string *xue_name = ({
"劳宫穴", "膻中穴", "曲池穴", "关元穴", "曲骨穴", "中极穴", "承浆穴", "天突穴", "百会穴",
"幽门穴", "章门穴", "大横穴", "紫宫穴", "冷渊穴", "天井穴", "极泉穴", "清灵穴", "至阳穴", });


string *parry_msg = ({
        "$n左手拇指食指虚捻,右手轻挥,空气中骤生"+(order[random(13)])+"「变商」"NOR"之音,一轮音波将$N迫开。\n",
        "$n两手凌空虚划,冷冽的气劲吹过,忽传"+(order[random(13)])+"「清徵」"NOR"之音,$N不觉有点心神撼动。\n",
        "$n凝神专著,伸手轻抚,如拨琴弦,耳侧传来"+(order[random(13)])+"「正宫」"NOR"之调,$N一时茫然不知所以。\n",
        });

        
string *unarmed_parry_msg = ({
        "$n左手拇指食指虚捻,右手轻挥,空气中骤生"+(order[random(13)])+"「变商」"NOR"之音,一轮音波将$N迫开。\n",
        "$n两手凌空虚划,冷冽的气劲吹过,忽传"+(order[random(13)])+"「清角」"NOR"之音,$N不觉有点心神撼动。\n",

        "$n凝神专著,伸手轻抚,如拨琴弦,耳侧传来"+(order[random(13)])+"「正宫」"NOR"之调,$N一时茫然不知所以。\n",
        });

mapping *action = ({
        ([      "action":               "$N双手骤然下击,劲风带动忽发"+(order[random(13)])+"「变商」"NOR"之音,如凝易水之悲寒,直取$n$l",
   已经显示 10%    (ENTER 继续下一页,q 离开,b 前一页)                "dodge":                70,
                "parry":                60,
                "force":                300,
                "damage":               310,
                "damage_type":  "瘀伤"
        ]),
        ([      "action":               "$N双手骤然下击,劲风带动忽发"+(order[random(13)])+"「清角」"NOR"之音,如凝易水之悲寒,直取$n$l",
                "dodge":                70,
                "parry":                60,
                "force":                300,
                "damage":               310,
                "damage_type":  "瘀伤"
        ]),
        ([      "action":               "$N双手骤然下击,劲风带动忽发"+(order[random(13)])+"「正宫」"NOR"之音,如凝易水之悲寒,直取$n$l",
                "dodge":                70,
                "parry":                60,
                "force":                300,
                "damage":               310,
                "damage_type":  "瘀伤"
        ]),        
        
        ([      "action":               "$N轮指急抚,阵阵疾风如珠玉落盘,激起"+(order[random(13)])+"「变羽」"NOR"之音,袭向$n的$l",
                "dodge":                180,
   已经显示 20%    (ENTER 继续下一页,q 离开,b 前一页)
                "parry":                20,
                "damage":               270,
                "damage_type":          "刺伤",
                "weapon":               "指风",
        ]),
        ([      "action":               "$N信手轻敲,"+(order[random(13)])+"「变角」"NOR"声沉,周围忽起鼓点隆隆,如十面埋伏围向$n",
                "dodge":                140,
                "parry":                90,
                "damage":               220,
                "damage_type":  "瘀伤"
        ]),
        ([      "action":               "$N左手凝气,右手横拉而过,"+(order[random(13)])+"「清商」"NOR"之调如无边丝雨,漫漫飘向$n的$l",
                "dodge":                120,
                "parry":                120,
                "damage":               290,
                "damage_type":  "瘀伤"
        ]),
        ([      "action":               "$N伸掌直拍,疾风忽起,流云四散,在气流波动的"+(order[random(13)])+"「正商」"NOR"之音中,击向$n的$l",
                "dodge":                160,

                "parry":                20,
                "damage":               310,
                "damage_type":  "瘀伤"
        ]),
   已经显示 30%    (ENTER 继续下一页,q 离开,b 前一页)        ([      "action":               "$N双手骤然下击,劲风带动忽发"+(order[random(13)])+"「变徵」"NOR"之音,如凝易水之悲寒,直取$n$l",
                "dodge":                70,
                "parry":                60,
                "force":                300,
                "damage":               310,
                "damage_type":  "瘀伤"
        ]),
});

int valid_enable(string usage) { return usage=="hand" || usage=="parry"; }

int valid_combine(string combo) { return combo=="qidao"; }

int valid_learn(object me)
{
    if ((int)me->query_skill("force", 1) < 20)
   return notify_fail("你的内功心法火候不够。\n");
    if ((int)me->query("max_neili") < 250)
   return notify_fail("你的内力太弱。\n");
        if( (int)me->query_skill("xuantian-wuji", 1) < 100)
                return notify_fail("你的玄天无极功的修为不够! \n");
        if( (int)me->query_skill("xunlei-jian", 1) < 100 )
                return notify_fail("你的迅雷剑法还不到家!\n");
   已经显示 40%    (ENTER 继续下一页,q 离开,b 前一页)

        if( (int)me->query_skill("chuanyun-tui", 1) < 100 )
                return notify_fail("你的穿云腿还不到家!\n");
               
        if( (int)me->query_skill("kunlun-zhang", 1) < 100 )
                return notify_fail("你的昆仑掌还不到家!\n");

        if( (int)me->query_skill("mantian-huayu", 1) < 100 )
                return notify_fail("你的漫天花雨还不到家!\n");

        if( (int)me->query_skill("zhentian-quan", 1) < 100 )
                return notify_fail("你的震天拳还不到家!\n");

        if( (int)me->query_skill("art", 1) < 100 )
                return notify_fail("你的琴棋书画还不到家!\n");

        if( (int)me->query_skill("taxue-wuhen", 1) < 100 )
                return notify_fail("你的踏雪无痕还不到家!\n");

    return 1;
}

int practice_skill(object me)
   已经显示 50%    (ENTER 继续下一页,q 离开,b 前一页)
{
    object weapon;

     if ((int)me->
query("qi") < 30)
    if ((int)me->query("qi") < 70)
    return notify_fail("你的体力太低了。\n");
    if ((int)me->query("neili") < 70)
   return notify_fail("你的内力不够。\n");

    if( (int)me->query_skill("xuantian-wuji", 1) < 100)
                return notify_fail("你的玄天无极功的修为不够! \n");
        if( (int)me->query_skill("xunlei-jian", 1) < 100 )
                return notify_fail("你的迅雷剑法还不到家!\n");

        if( (int)me->query_skill("chuanyun-tui", 1) < 100 )
                return notify_fail("你的穿云腿还不到家!\n");
               
        if( (int)me->query_skill("kunlun-zhang", 1) < 100 )
                return notify_fail("你的昆仑掌还不到家!\n");

        if( (int)me->query_skill("mantian-huayu", 1) < 100 )
                return notify_fail("你的漫天花雨还不到家!\n");
   已经显示 60%    (ENTER 继续下一页,q 离开,b 前一页)

        if( (int)me->query_skill("zhentian-quan", 1) < 100 )
                return notify_fail("你的震天拳还不到家!\n");

        if( (int)me->query_skill("art", 1) < 100 )
                return notify_fail("你的琴棋书画还不到家!\n");

        if( (int)me->query_skill("taxue-wuhen", 1) < 100 )
                return notify_fail("你的踏雪无痕还不到家!\n");

    me->receive_damage("qi", 55);
return 1;
}

mapping query_action(object me, object weapon)
{
        int i, level;
if (( (int)me->query_skill("cuff", 1) >= 120 )
        &&      ( (int)me->query_skill("music", 1) >= 120 )
        &&      ( (int)me->query("neili") >= 500 )
      && random(8)==0 ) {
                return ([
                "action": HIG"$N左手拇指食指虚捻,右手轻挥,空气中骤生"+(order[random(13)])+"「变商」"HIG"之音,一轮音波击向$n。"NOR,
   已经显示 70%    (ENTER 继续下一页,q 离开,b 前一页)
                        "parry":(int)me->query_skill("parry",1)/3,
                       "damage":(int)me->query_skill("music",1)*2,
                 "dodge":(int)me->query_skill("dodge")/10+(int)me->query_skill("leg")/15,
                             "force": (int)me->query_skill("music")+(int)me->query_skill("leg"),
                "damage_type": "内伤"
  ]);
        }
return action[random(sizeof(action))];
}
   
mixed hit_ob(object me, object victim, int damage_bonus, int factor, string limb)
{                                                                                                               
        int level, jiali, time,level2,damage;
        object weapon;
                string name;
        name = xue_name[random(sizeof(xue_name))];
        weapon = me->query_temp("weapon");
        level = (int) me->query_skill("xuantian-wuji",1);
        level2= (int) me->query_skill("xuantian-wuji",1);

if (random(5)==0 && level>=200 && me->query_skill_mapped("force") == "xuantian-wuji")
{

   已经显示 80%    (ENTER 继续下一页,q 离开,b 前一页)
        if (!victim->is_busy())
        victim->start_busy(2);
        //me->add("neili", -50);
        victim->receive_damage("qi", me->query_skill("music", 1) / 3 + damage_bonus / 3);
        victim->receive_wound("qi", me->query_skill("music", 1) / 5 + damage_bonus / 5);
                return BLU "只听一阵淳厚的弦音从$N" BLU "处传来,$n" HIY "『" + name + "』"
                       NOR + BLU "顿时受震,两耳轰鸣,全身真气乱窜不止!\n" NOR;
}

}

int ob_hit(object ob, object me, int damage)
{
        object weapon = me->query_temp("weapon");
        string msg,dodge_skill,*limbs;
        int i, j, level,level2, p, q;
        
     int busy_time;
        int skill;
        int my_exp, your_exp;
        
        my_exp=me->query("combat_exp");
        your_exp=ob->query("combat_exp");
   已经显示 90%    (ENTER 继续下一页,q 离开,b 前一页)
        
        skill=me->query_skill("music",1);
        

        if (random(6)==0 && me->is_busy()) {
                message_vision(HIG"$N心神合一,琴弈相通,弈道的"+(order[random(13)])+"「得算篇」"NOR"历历在目,身形骤然轻巧起来。\n"NOR, me);      
if (me->query("eff_qi")<= me->query("max_qi") )
{
                me->add("qi",me->query_skill("art",1)+200);
                me->add("eff_qi",me->query_skill("art",1)+200);
}
                me->start_busy(1);
        }
        

}


string perform_action_file(string action)
{
    return __DIR__"music/" + action;
}

[发帖际遇]: hxsd在大雪山旅游,被雪山上掉下来的苗人凤砸到,损失医药费银两20。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-19 09:09 | 显示全部楼层
呃。。琴道可以激发为hand和parry,为啥下面的要求有这个。。。

if (( (int)me->query_skill("cuff", 1) >= 120 )

虽然要求很低,呵呵

[发帖际遇]: 罗罗诺亚拍丁春秋的马屁结果拍到马腿上,被丁春秋打伤,失去医疗费银两10两。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-3-19 11:47 | 显示全部楼层
原帖由 罗罗诺亚 于 2010-3-19 09:09 发表
呃。。琴道可以激发为hand和parry,为啥下面的要求有这个。。。

if (( (int)me->query_skill("cuff", 1) >= 120 )

虽然要求很低,呵呵

[发帖际遇]: 罗罗诺亚拍丁春秋的马屁结果拍到马腿上,被丁春秋打伤 ...

没啥原因的,hxsd喜欢,哈哈

[发帖际遇]: mdicaw乘船去王盘山旅游,被不明噪音弄晕,原来是谢逊在练狮子吼,花费银两17治内伤。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-12-19 03:44

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表