铁血丹心

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

[问题求助] 对九阴白骨爪比较有爱。。。发下jiuyin-baiguzhao和jiuyin-baiguzhua代码吧

[复制链接]
发表于 2009-12-9 23:59 | 显示全部楼层 |阅读模式

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

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

x


[发帖际遇]: 84chen在佛山巧遇钟阿四一家被凤天南强逼,出手打趴凤天南,凤天南奉上银两24。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-12-10 12:42 | 显示全部楼层
//jiuyin-baiguzhao.c
#include <ansi.h>
inherit SKILL;

mapping *action = ({
([  "action" : "$N左爪虚晃,右爪蓄力,一招「勾魂夺魄」直插向$n的$l",
    "force" : 320,
    "dodge" : 10,
    "damage": 30,
    "lvl"   : 0,
    "skill_name" : "勾魂夺魄" ,
        "damage_type" : "抓伤"
]),
([  "action" : "$N双手连环成爪,爪爪钩向$n,「九子连环」已向$n的$l抓出",
    "force" : 380,
    "dodge" : 20,
    "damage": 45,
    "lvl"   : 20,
    "skill_name" : "九子连环" ,
        "damage_type" : "抓伤"
]),
([  "action" : "$N身形围$n一转,使出「天罗地网」,$n的$l已完全笼罩在爪影下",
    "force" : 440,
    "dodge" : 30,
    "damage": 55,
    "lvl"   : 40,
    "skill_name" : "天罗地网" ,
        "damage_type" : "抓伤"
]),
([  "action" : "$N使一招「风卷残云」,双爪幻出满天爪影抓向$n全身",
    "force" : 520,
    "dodge" : 40,
    "damage": 70,
    "lvl"   : 60,
    "skill_name" : "风卷残云" ,
        "damage_type" : "抓伤"
]),
([  "action" : "$N吐气扬声,一招「唯我独尊」双爪奋力向$n天灵戳下",
    "force" : 620,
    "dodge" : 50,
    "damage": 100,
    "lvl"   : 100,
    "skill_name" : "唯我独尊" ,
    "damage_type" : "抓伤"
]),
([  "action" : "$N身形微晃,一招「相思深入骨」,十指如戟,插向$n的双肩锁骨",
    "force" : 200,
    "dodge" : 10,
    "damage_type" : "内伤",
    "lvl"   : 0,
    "skill_name" : "相思深入骨" ,
]),
([  "action" : "$N出手如风,十指微微抖动,一招「素手裂红裳」抓向$n的前胸",  
    "force" : 220,
    "dodge" : 20,
    "damage_type" : "内伤",
    "lvl"   : 10,
    "skill_name" : "素手裂红裳" ,
]),
([  "action" : "$N双手忽隐忽现,一招「铁指破残阳」,鬼魅般地抓向$n的肩头",  
    "force" : 250,
    "dodge" : 30,
    "damage_type" : "内伤",
    "lvl"   : 20,
    "skill_name" : "铁指破残阳" ,
]),
([  "action" : "$N左手当胸画弧,右手疾出,一招「明月当空照」,猛地抓向$n的额
头",
    "force" : 290,
    "dodge" : 25,
    "damage_type" : "内伤",
    "lvl"   : 31,
    "skill_name" : "明月当空照" ,
]),
([  "action" : "$N使一招「阴气动四方」,激起漫天的劲风,撞向$n",
    "force" : 340,
    "dodge" : 40,
    "damage_type" : "内伤",
    "lvl"   : 43,
    "skill_name" : "阴气动四方" ,
]),
([  "action" : "$N突然双手平举,$n一呆,正在猜测间,便见$N嗖的一下将双手   
收回胸前,接着一招「森然见白骨」,五指如钩,直抓向$n的腰间",
    "force" : 400,
    "dodge" : 35,
    "damage_type" : "内伤",
    "lvl"   : 56,
    "skill_name" : "森然见白骨" ,
]),
([  "action" : "$N使出「阴魂仍不散」,蓦然游身而上,绕着$n疾转数圈,$n正眼  
花缭乱间,$N已悄然停在$n身后,右手划出一道光圈,接着右手冲出光圈猛抓$n的后背",  
    "force" : 430,
    "parry" : 20,
    "dodge" : 20,
    "damage_type" : "内伤",
    "lvl"   : 71,
    "skill_name" : "阴魂仍不散" ,
]),
([  "action" : "$N面无表情,双臂忽左忽右地疾挥,使出「九阴搜魂手」,十指   
忽伸忽缩,迅猛无比地袭向$n全身各处大穴",
    "force" : 460,
    "parry" : 5,
    "dodge" : 30,
    "damage_type" : "内伤",
    "lvl"   : 87,
    "skill_name" : "九阴搜魂手" ,
]),
([  "action" : "$N左手轻挥,荡起阵阵阴风,一道青光闪过,$N的右手已变成青白  
色,接着集中精神施展出「爪现鬼神亡」祭出九道爪影击向$n的头顶",
    "force" : 520,
    "parry" : 10,
    "dodge" : 20,
    "damage_type" : "内伤",
    "lvl"   : 110,
    "skill_name" : "爪现鬼神亡" ,
]),
});

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

int valid_learn(object me)
{
        if (me->query_temp("weapon") || me->query_temp("secondary_weapon"))
            return notify_fail("练九阴白骨爪必须空手。\n");
        if ((int)me->query("max_neili") < 200)
            return notify_fail("你的内力太弱,无法练九阴白骨爪。\n");
        return 1;
}

string query_skill_name(int level)
{
        int i;
        for(i = sizeof(action); i > 0; i--)
                if(level >= action[i-1]["lvl"])
                        return action[i-1]["skill_name"];
}

mapping query_action(object me, object weapon)
{
        int i, level;
        level = (int) me->query_skill("jiuyin-baiguzhao",1);
        for(i = sizeof(action); i > 0; i--)
                if(level > action[i-1]["lvl"])
            return action[NewRandom(i, 5, level/5)];

}
int practice_skill(object me)
{
        object* ob, obj;
        int i,skill,damage;

        skill = me->query_skill("jiuyin-baiguzhao",1);
        if (me->query("qi") < 250)
                return notify_fail("你的体力太低了。\n");
        if (me->query("jing") < 60)
                return notify_fail("你的精力太低了。\n");
        if (me->query("neili") < 250)
                return notify_fail("你的内力不够练九阴白骨爪。\n");
        if( environment(me)->query("no_fight") )
                return notify_fail("这里练功会误伤他人。\n");
        if( environment(me)->query("sleep_room") )
                return notify_fail("这里练功会打扰别人休息。\n");
        if( !objectp(obj=present("corpse", environment(me))))
                return notify_fail("练九阴白骨抓需有尸体。\n");
        if( skill > 100 && me->query("shen") > -100)
                return notify_fail("这种邪恶武功不是侠义道当练的。\n");
        me->receive_damage("qi", 40);
        me->receive_damage("jing", 30);
        me->add("neili", -100);
        tell_room(environment(me),
HIB"只见"+me->query("name")+"左手上圈下钩、左旋右转,连变了七八般花样,蓦地里右手一伸,噗的
一响,五根手指直插入地上尸体的脑门。随后五根手指"HIR"血淋淋"HIB"的提将起来。\n");
//        ob = all_inventory(environment(me));
//        for(i=0; i<sizeof(ob); i++)
//        {
//                if( !living(ob) || ob==me ) continue;
//                if(skill+random(skill/2)<(int)ob->query("con")*2) continue;
//                damage = skill - ((int)ob->query("neili") );
//                if( damage > 0 )
//                {
//                        ob->receive_damage("qi", damage );
//                        if( (int)ob->query("neili") < skill * 2 )
//                                ob->receive_wound("qi", damage);
//                        tell_object(ob,
//HIB"忽然眼前黑影狂舞,你觉得眼前一阵阴气直袭面门,全身骤然感到要被撕裂开一样!\n"NOR);
//                }
//                if( userp(ob) ) ob->fight_ob(me);
//                else if( !ob->is_killing(me) ) ob->kill_ob(me);
//        }
        return 1;
}
void skill_improved(object me)
{
    tell_object(me, HIR "你忽然从心底生出一股恶念:杀、杀、杀!我要杀绝天下人!\n" NOR );
if (random(2)==0)
    me->add("shen", -(me->query_skill("jiuyin-baiguzhao", 1)));

}
mixed hit_ob(object me, object victim, int damage_bonus)
{
        if( damage_bonus < 100 ) return 0;

        if( random(damage_bonus/2) > victim->query_str() ) {
if (random(10)>8)
{
victim->apply_condition("jy-poison",5);
}
                victim->receive_wound("qi", (damage_bonus - 100) / 3 );
                return HIR "你听到「喀啦」一声轻响,竟似是骨碎的声音!\n" NOR;
        }
}

string perform_action_file(string action)
{
    return __DIR__"jiuyin-baiguzhao/" + action;
}

[发帖际遇]: hxsd挑衅裘千丈,谁知到竟然是裘千仞,结果被裘千仞打了一掌,治伤花费银两5。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-12-10 12:42 | 显示全部楼层
// jiuyin-baiguzhua.c 九阴白骨爪

#include <ansi.h>
inherit SKILL;
mapping *action = ({
([ "action" : BLU"$N势若疯虎,形若邪魔,双爪如钢抓铁钩,左手手腕翻处,右手疾伸,五根手指抓向$n$l"NOR,
   "force" : 150,
   "damage" : 30,
   "dodge" : 5,
   "lvl" : 0,
   "damage_type" : "抓伤"
]),
([ "action" : BLU"突然人影闪动,$N迫到$n身后,袖中伸出手,五根手指向$n$l插了下去"NOR,
   "force" : 200,
   "weapon" : "五指",
   "damage" : 50,
   "dodge" : 10,
   "lvl" : 10,
   "damage_type" : "刺伤"
]),
([ "action" : BLU"$N手臂关节喀喇一响,手臂斗然长了半尺,一掌按在$n$l,五指即要插进"NOR,
   "force" : 250,
   "weapon" : "手指",
   "damage" : 60,
   "dodge" : 5,
   "lvl" : 20,
   "damage_type" : "刺伤"
]),
([ "action" : BLU"$N双手微张,十根尖尖的指甲映出灰白光忙,突然翻腕出爪,五指猛地插落"NOR,
   "force" : 300,
   "weapon" : "手爪",
   "damage" : 70,
   "dodge" : 5,
   "lvl" : 30,
   "damage_type" : "刺伤"
]),
([ "action" : BLU"$N左手突然在$n眼前上围下钩,左旋右转,连变了七八般,蓦地里右手一伸,五根手指直插$n$l"NOR,
   "force" : 350,
   "weapon" : "五根手指",
   "damage" : 80,
   "dodge" : 5,
   "lvl" : 40,
   "damage_type" : "刺伤"
]),
([  "action" : BLU "$N左爪虚晃,右爪蓄力,一招" HIR "「勾魂夺魄」" BLU "直插向$n的$l" NOR,
    "force" : 400,
    "dodge" : 10,
    "damage": 130,
    "lvl"   : 100,
    "skill_name" : "勾魂夺魄" ,
        "damage_type" : "抓伤"
]),
([  "action" : BLU "$N双手连环成爪,爪爪钩向$n," HIR "「九子连环」" BLU "已向$n的$l抓出" NOR,
    "force" : 420,
    "dodge" : 20,
    "damage": 145,
    "lvl"   : 120,
    "skill_name" : "九子连环" ,
        "damage_type" : "抓伤"
]),
([  "action" : BLU "$N身形围$n一转,使出" HIR "「天罗地网」" BLU ",$n的$l已完全笼罩在爪影下" NOR,
    "force" : 440,
    "dodge" : 30,
    "damage": 155,
    "lvl"   : 140,
    "skill_name" : "天罗地网" ,
        "damage_type" : "抓伤"
]),
([  "action" : BLU "$N使一招" HIR "「风卷残云」" BLU ",双爪幻出满天爪影抓向$n全身" NOR,
    "force" : 520,
    "dodge" : 40,
    "damage": 170,
    "lvl"   : 160,
    "skill_name" : "风卷残云" ,
        "damage_type" : "抓伤"
]),
([  "action" : BLU "$N吐气扬声,一招" HIR "「唯我独尊」" BLU "双爪奋力向$n天灵戳下" NOR,
    "force" : 620,
    "dodge" : 50,
    "damage": 210,
    "lvl"   : 180,
    "skill_name" : "唯我独尊" ,
    "damage_type" : "抓伤"
]),
});

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

int valid_combine(string combo) { return combo=="cuixin-zhang"; }

int valid_learn(object me)
{
       if (!me->query("jiuyin/xia") && !me->query("jiuyin/emei"))
               return notify_fail("你现在不能学习九阴白骨爪。\n");
       if( (int)me->query_skill("jiuyin-shenzhua", 1 ) >= 1 )
               return notify_fail("会九阴神抓了,还想学九阴白骨爪?\n");
       if (me->query_temp("weapon") || me->query_temp("secondary_weapon"))
               return notify_fail("练九阴白骨爪必须空手。\n");
       if ((int)me->query_skill("claw", 1) < 41)
               return notify_fail("你的基本爪功火候不够,无法学习。\n");
       if ((int)me->query("max_neili") < 1000)
               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["lvl"])
                        return action["skill_name"];
}

mapping query_action(object me, object weapon)
{
    int i, level;
    level   = (int) me->query_skill("jiuyin-baiguzhua",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)
{
       if( (int)me->query_skill("jiuyin-baiguzhua", 1 ) < 150 )
               return notify_fail("你现在不能练习九阴白骨爪。\n");
       if ((int)me->query("jing") < 40)
               return notify_fail("你的体力太低了。\n");
       if ((int)me->query("neili") < 50)
               return notify_fail("你的内力不够练九阴白骨爪。\n");
       me->receive_damage("jing", 30);
       me->add("neili", -10 - random((int)me->query_skill("jiuyin-baiguzhua", 1 )/10+1));
       return 1;
}

string perform_action_file(string action)
{
        return __DIR__"jiuyin-baiguzhua/" + action;
}


void skill_improved(object me)
{
    tell_object(me, "你练着练着忽然从心底生出一股邪念!\n");
if (random(2)==0)
    me->add("shen", -(me->query_skill("jiuyin-baiguzhua", 1)));
}

mixed hit_ob(object me, object victim, int damage_bonus)
{
        if (!me->query("jiuyin/xia") && !me->query("jiuyin/emei")) return 0;

        if( damage_bonus < 100 ) return 0;
if (me->query_skill_mapped("force") != "jiuyin-zhengong")
return 0;
        if( random(damage_bonus/2) > victim->query_str() ) {
                victim->receive_wound("qi", (damage_bonus - 100) / 2 );
                return HIR "你听到「喀啦」一声轻响,竟似是骨碎的声音!\n" NOR;
        }
}

[发帖际遇]: hxsd卖下一个mod的制作人绝密采访稿,狂赚银两43。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

GMT+8, 2024-12-19 07:21

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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