铁血丹心

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

[新手指南] 九阳神功代码

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

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

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

x
// jiuyang-shengong.c 九阳神功
// cleansword
// Modified by Venus Oct.1997
#include <ansi.h>
#include <combat.h>

inherit FORCE;
string check() { return "force"; }
int valid_enable(string usage)
{
        object me = this_player();
        int lvl;
        lvl = (int)this_player()->query_skill("jiuyang-shengong", 1);

        if (lvl >= 280 && me->query("jiuyangok"))   
                return usage == "force" || usage == "unarmed" || usage =="parry"
                    || usage == "sword" || usage =="blade";
        else
                return usage == "force";
      
}

int valid_learn(object me)
{
        int lvl = (int)me->query_skill("jiuyang-shengong", 1);

        if ((int)me->query_skill("force", 1) < 10)
                return notify_fail("你的基本内功火候还不够,还不能学习九阳神功。\n");

        if (
        me->query_skill("bahuang-gong",1)
        || me->query_skill("beiming-shengong",1)
        || me->query_skill("bibo-shengong",1)
        || me->query_skill("hamagong",1)
        || me->query_skill("huagong-dafa",1)
        || me->query_skill("huntian-qigong",1)
        || me->query_skill("hunyuan-yiqi",1)
        || me->query_skill("kuihua-xinfa",1)
        || me->query_skill("kurong-changong",1)
        || me->query_skill("linji-zhuang",1)
        || me->query_skill("longxiang",1)
        || me->query_skill("shenlong-xinfa",1)
        || me->query_skill("taiji-shengong",1)
        || me->query_skill("xiantian-qigong",1)
        || me->query_skill("xiaowuxiang",1)
        || me->query_skill("yijinjing",1)
        || me->query_skill("yunv-xinfa",1)
        || me->query_skill("yunlong-shengong",1)   ||
me->query_skill("bingxue-xinfa",1)||
me->query_skill("wudu-shengong",1)||
me->query_skill("shenyuan-gong",1)   ||
me->query_skill("huashan-neigong",1)   ||
me->query_skill("zixia-shengong",1) ||
me->query_skill("xuantian-wuji",1)  ||
me->query_skill("shayi-xinfa",1)||
me->query_skill("biyun-xinfa",1)||
me->query_skill("guiyuan-tunafa",1) )
                return notify_fail("你不先散了别派内功,怎能学九阳神功?!\n");
        return 1;
}

mapping *actionf = ({
([      "action": "$N飞身一跃而起,身法陡然加快,朝着$n$l快速攻出数十拳",
        "force" : 510,
        "attack": 190,
        "dodge" : 100,
        "parry" : 90,
        "damage": 280,
        "weapon": HIR "九阳无极劲" NOR,
        "damage_type":  "刺伤"
]),
([      "action": "$N沉身运气,一拳击向$n,刹那间,$N全身竟浮现出一道金光",
        "force" : 510,
        "attack": 185,
        "dodge" : 90,
        "parry" : 120,
        "damage": 275,
        "weapon": HIR "九阳无极劲" NOR,
        "damage_type":  "刺伤"
]),
([      "action": "$N将九阳神功运劲于臂,一掌凌空劈斩而出,划出一道炽热的黄芒",
        "force" : 530,
        "attack": 175,
        "dodge" : 90,
        "parry" : 110,
        "damage": 200,
        "weapon": HIR "九阳无极劲" NOR,
        "damage_type":  "割伤"
]),
([      "action": "$N跨步上前,身形微微一展,双掌对准$n$l一并攻出",
        "force" : 525,
        "attack": 185,
        "dodge" : 85,
        "parry" : 115,
        "damage": 285,
        "weapon": HIR "九阳无极劲" NOR,
        "damage_type":  "刺伤"
]),
([      "action": "$N急催九阳神功内劲,猛的一拳在呼啸声中陡然挥击而出",
        "force" : 530,
        "attack": 165,
        "dodge" : 90,
        "parry" : 115,
        "damage": 300,
        "weapon": HIR "九阳无极劲" NOR,
        "damage_type":  "刺伤"
]),
([      "action": "$N一声暴喝,十指暮的张开,一股雄厚的内劲澎湃而出",
        "force" : 540,
        "attack": 200,
        "dodge" : 115,
        "parry" : 120,
        "damage": 280,
        "weapon": HIR "九阳无极劲" NOR,
        "damage_type":  "割伤"
]),
});

mapping *actionw = ({
([      "action" : "$N攻势忽缓而不疏,$w变化无常,捉摸不定向$n慢慢卷去",
        "force" : 330,
        "attack": 140,
        "dodge" : 35,
        "parry" : 85,
        "damage": 325,
        "damage_type": "内伤"
]),
([      "action":"$N手中的$w突焕气象森严,便似千军万马奔驰而来,$w幻作一道红芒贯向$n",
        "force" : 310,
        "attack": 120,
        "dodge" : 25,
        "parry" : 25,
        "damage": 310,
        "damage_type": "刺伤"
]),
([      "action":"$N卷起手中的$w,霎时剑芒暴涨,宛如骄阳烈火直射向$n而去",
        "force" : 340,
        "attack": 115,
        "dodge" : 20,
        "parry" : 25,
        "damage": 365,
        "damage_type": "刺伤"
]),
([      "action":"$N运用$w幻化做一个一个圆圈,顿时无数火圈将$n团团包围",
        "force" : 285,
        "attack": 110,
        "dodge" : 25,
        "parry" : 25,
        "damage": 390,
        "damage_type": "内伤"
]),
([      "action":"$N回转$w遥指$n,顿时$w顶端顿时透出一道吞吐不定的火光,电射而出",
        "force" : 330,
        "attack": 118,
        "dodge" : 10,
        "parry" : 20,
        "damage": 420,
        "damage_type": "刺伤"
]),
});
mapping query_action(object me, object weapon)
{
        return weapon ? actionw[random(sizeof(actionw))] :
                        actionf[random(sizeof(actionw))];
}

int practice_skill(object me)
{
        return notify_fail("九阳神功只能用学(learn)的来增加熟练度。\n");
}

string exert_function_file(string func)
{
        return __DIR__"jiuyang-shengong/" + func;
}

mixed ob_hit(object me, object victim, int damage, int damage_bonus, int factor)
{
        object weapon1 = me->query_temp("weapon");
        object weapon2 = victim->query_temp("weapon");

        int ap, dp;
        string result;

        ap = (int)me->query("combat_exp",1)+(int)victim->query_skill("parry",1);

        dp = victim->query("combat_exp",1);
        if (objectp(weapon1))
                dp += victim->query_skill("dodge");
if (random(me->query_skill("jiuyang-shengong",1)) > 120
&& me->query("neili") < me->query("max_neili")
&& me->query_skill_mapped("force") == "jiuyang-shengong"
)
{
message_vision(HIR"$N运起九阳神功,全身内力源源不断的涌出!\n"NOR,me, victim);
me->add("neili",random(me->query_skill("jiuyang-shengong",1))+100);
}

if (random(me->query_skill("jiuyang-shengong",1)) > 120
&& me->query("qi") < me->query("max_qi")
&& me->query_skill_mapped("force") == "jiuyang-shengong"
)
{
message_vision(RED"$N运起九阳神功,身上的伤好了很多!\n"NOR,me, victim);
me->add("qi",random(me->query_skill("jiuyang-shengong",1))+180);
if (me->query("eff_qi") < me->query("max_qi"))
me->add("eff_qi",random(me->query_skill("jiuyang-shengong",1))+180);
}


if (random(me->query_skill("qiankun-danuoyi",1)) > 120
&& me->is_busy()
&& me->query_skill_mapped("force") == "jiuyang-shengong"
&& random(2)==0
)
{
message_vision(HIC"$N暗运乾坤大挪移,本来忙乱的动作快了起来!\n"NOR,me, victim);
me->start_busy(1);
}
        if ( random(ap) > dp/3
        && me->query("jiuyangok")
        && (int)me->query_temp("shield")
        && me->query_skill_mapped("force") == "jiuyang-shengong"
        ) {
                if ( objectp(weapon1)) {
                        if (damage + damage_bonus > 0)
                        {                 
                                damage_bonus=-damage/3;
                                result = HIM"$n身子一侧,将$N兵刃上的力道卸去大半。\n"NOR;
                        }
                        else {
                                result = MAG"$n身子一侧,将$N兵刃上的力道卸去大半。\n"NOR;
                                damage_bonus=-damage/3;
                        }
                }
                else if(!objectp(weapon1)){
                        if (damage + damage_bonus > 0)
                        {
                                damage_bonus=-damage/2;
                                result = HIG"$n九阳神功自然而然发出抗力,将$N的力道一挡。\n"NOR;                     
                        }
                        else {
                                result = MAG"$n九阳神功自然而然发出抗力,将$N的力道一挡。\n"NOR;
                                damage_bonus=-damage/2;
                        }
                }       

        }
if (result)
        message_vision(result,me,victim);
        return damage;
}



string perform_action_file(string action)
{
        return __DIR__"jiuyang-shengong/perform/" + action;
}

mixed hit_ob(object me, object victim, int damage_bonus)
{
        int lvl;

        lvl = me->query_skill("jiuyang-shengong", 1);

        if (damage_bonus < 50
           || lvl < 150
           || me->query("neili") < 300
           || me->query_skill_mapped("force") != "jiuyang-shengong"
           || me->query_skill_mapped("unarmed") != "jiuyang-shengong"
                || !me->query("jiuyangok") )
                return 0;

        if (damage_bonus / 5 > victim->query_con() || random(10)==0)
        {
                me->add("neili", -50);
                victim->receive_wound("qi", (damage_bonus - 80) / 2+10, me);
                return random(2) ? HIR "只见$N" HIR "九阳内劲自体内迸发,真气随招式"
                                   "而荡漾,摧毁了$n" HIR "的真元!\n" NOR:

                                   HIR "$N" HIR "九阳神功的潜力发挥了出来,突然间$n"
                                   HIR "只感喉咙一甜,喷出一口鲜血!\n" NOR;
        }
}
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-9-17 12:20 | 显示全部楼层
good ,把peform的代码也发布下吧,perform ri;perform jiu

[发帖际遇]: happyrang跟踪成昆进入明教密道,结果:奋勇救小昭脱险,得到小昭感谢银两15.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-12-17 09:42 | 显示全部楼层
hxsd给你点建议
便在这万籁俱寂的一刹那间,张无忌突然间记起了九阳真经中的几句话:“他强由他强,清风拂山冈。他横由他横,明月照大江。”他在幽谷中诵读这几句经文之时,始终不明其中之理,这时候猛地里想起,以灭绝师太之强横狠恶,自己决非其敌,照着九阳真经中要义,似乎不论敌人如何强猛、如何凶恶,尽可当他是清风拂山、明月映江,虽能加于我身,却不能有丝毫损伤。然则如何方能不损我身?经文下面说道:“他自狠来他自恶,我自一口真气足。”他想到此处,心下豁然有悟,盘膝坐下,依照经中所示的法门调息,只觉丹田中暖烘烘地、活泼泼地,真气流动,顷刻间便遍于四肢百骸。那九阳神功的大威力,这时方才显现出来。他外伤虽重,呕血成升,但内力真气,竟是半点也没损耗。

[发帖际遇]: 天宝遭遇四大恶人,奋力拼搏,得到银两7两银子。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-12-17 09:59 | 显示全部楼层
if (damage + damage_bonus > 0)
                        {
                                damage_bonus=-damage/2;
                                result = HIG"$n九阳神功自然而然发出抗力,将$N的力道一挡。\n"NOR;                     
                        }

这里改成原著中九阳神功的口决多好啊
$n默念九阳神功要义"他强由他强,清风拂山冈"将$N的力道化解。
$n默念九阳神功要义"他横由他横,明月照大江"将$N的力道化解。
恢复内力那句也能根据原著描述改一下
$N默念九阳神功要义"他自狠来他自恶,我自一口真气足",全身内力源源不断的涌出!\

这样有迹可寻,忠于原著多好啊,也比现在用这个要好看吧!

[发帖际遇]: 天宝随江湖群豪去给萧半天贺寿,意外逮到了卓天雄,悉获鸳鸯刀“仁者无敌”的秘密,上涨声望3。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-12-17 10:00 | 显示全部楼层
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

GMT+8, 2024-12-19 06:42

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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