铁血丹心

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

[问题求助] hxsd,太玄有改动么?发个太玄功代码看看

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

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

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

x
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-12-10 12:43 | 显示全部楼层

加了pfm,武功改动不大。

加了pfm,武功改动不大。
// taixuan-gong.c 侠客岛太玄功
// Jay 4/5/96
// modified by Venus Oct.1997
//2000/6/10日 由lywin调整攻击力!加入自动pfm

#include <ansi.h>
//inherit FORCE;
inherit SKILL;

string *dodge_msg = ({
    "$n左手拍出,劲风到处,把$N震到一边。\n",
    "$n手臂回转,抓住$N手肘一推,将$N远远掷开。\n",
    "$n两腿轻蹬,激跃而出,竟已落在十数丈外。\n",
    "$N只觉眼前一花,只见到$n身形一幌,自己的招数居然莫名其妙就落空了。\n",
});
mapping *actionw = ({
([      "action" : "$N攻势如虹,气势非凡,$w忽隐忽现,捉摸不定向$n慢慢攻去",
        "force" : 510,
        "attack": 180,
        "dodge" : 85,
        "parry" : 175,
        "damage": 325,
        "damage_type": "内伤"
]),
([      "action":"$N手中的$w龙吟不定,犹如长江滚滚而来,将$n笼罩",
        "force" : 510,
        "attack": 108,
        "dodge" : 72,
        "parry" : 115,
        "damage": 310,
        "damage_type": "刺伤"
]),
([      "action":"$N卷起手中的$w,宛如翻江倒海直射向$n而去",
        "force" : 532,
        "attack": 125,
        "dodge" : 60,
        "parry" : 102,
        "damage": 365,
        "damage_type": "刺伤"
]),
([      "action":"$N手中$w幻出一个个光环,顿时将$n团团包围",
        "force" : 565,
        "attack": 110,
        "dodge" : 75,
        "parry" : 105,
        "damage": 390,
        "damage_type": "内伤"
]),
([      "action":"$N飞身而起,手中$w犹如神龙般地卷向$n",
        "force" : 550,
        "attack": 108,
        "dodge" : 70,
        "parry" : 120,
        "damage": 420,
        "damage_type": "刺伤"
]),
});

mapping *action = ({
([      "action":"$N双手一举,一股劲气澎湃汹涌而来,逼得$n踉踉后退",
        "force" : 540,
        "attack": 50,
        "dodge" : 50,
        "parry" : 120,
        "damage": 355,
        "damage_type":  "瘀伤"
]),
([      "action":"$N右手伸出,霎时一股气流激射而出袭向$n",   
        "force" : 560,
        "attack": 60,
        "dodge" : 60,
        "parry" : 90,
        "damage": 330,
        "damage_type":  "瘀伤"
]),
([      "action":"$N大喝一声,左掌一抖,顿时一股气流向$n脸上涌去",
        "force" : 570,
        "attack": 75,
        "dodge" : 75,
        "parry" : 135,
        "damage": 360,
        "damage_type":  "瘀伤"
]),
([      "action":"$N猱身而上,全身真气暴发,双掌猛地拍向$n",
        "force" : 580,
        "attack": 80,
        "dodge" : 80,
        "parry" : 75,
        "damage": 395,
        "damage_type":  "瘀伤"
]),
([      "action":"$N身法陡快,忽左忽又,突然间$N双掌连连拍出,数股太玄内劲已射向$n",
        "force" : 580,
        "attack": 95,
        "dodge" : 90,
        "parry" : 125,
        "damage": 360,
        "damage_type":  "瘀伤"
]),
([      "action":"$N突然间左手一捺,封住$n退路,右手掌力汹涌而出",
        "force" : 580,
        "attack": 100,
        "dodge" : 100,
        "parry" : 145,
        "damage": 580,
        "damage_type":  "瘀伤"
]),
});

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

mapping query_action(object me, object weapon)
{
        if (random(me->query_skill("taixuan-gong",1)) > 300 && me->query("neili") > 100)
        {
                me->add("neili", -50);
                return ([
        "action": HIR "$N的心中突然一片茫然,只觉得经脉中象有无数的蝌蚪在串来串去,难过非常,
当下不及多想,顺着蝌蚪的走向一阵拳打脚踢!四周顿时劲风乱飑,好不热闹!"NOR,
        "damage": 1000,
        "dodge" : 100,
        "force" : 500,
        "damage_type": "瘀伤"]);
        }
        return action[random(sizeof(action))];
}

string query_dodge_msg(string limb)
{
    return dodge_msg[random(sizeof(dodge_msg))];
}

int practice_skill(object me)
{
        return notify_fail("太玄神功无法通过练习来成长。\n");
}

int valid_learn(object me)
{
        if (
        me->query_skill("bahuang-gong",1)
        || me->query_skill("bibo-shengong",1)
        || me->query_skill("beiming-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("jiuyang-shengong",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("shenghuo-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("bingxue-xinfa",1)||
me->query_skill("wudu-shengong",1)||
me->query_skill("guiyuan-tunafa",1) )
return notify_fail("你不先散了别派内功,怎能学太玄神功?!\n");
        if ((int)me->query_skill("literate", 1)> 5 )
                return notify_fail("你觉得太玄神功深奥之极,一时间难以领会。\n");

        if (me->query("gender") == "无性")
                return notify_fail("你无根无性,阴阳不调,难以领会高深的太玄功。\n");

        if ((int)me->query("int") < 30)
                return notify_fail("你若有所悟,然而总是有点不明白。\n");

        if ((int)me->query("dex") < 30)
                return notify_fail("你研究了半天,只觉招式始终无法随意施展。\n");

    if (random(this_player()->query("int")) > 25)
        return 1;
    return notify_fail("你苦思良久!竟是一头雾水,毫无所得!。\n");

}

string exert_function_file(string func)
{
        return __DIR__"taixuan-gong/" + func;
}
string perform_action_file(string action)
{
        return __DIR__"taixuan-gong/" + action;
}


int ob_hit(object ob, object me, int damage)
{
        object weapon = me->query_temp("weapon");
        string msg,dodge_skill,*limbs;
        int i, j, level, p, q;
        string result;
        int ap, dp, mp;
        ap = (int)me->query("combat_exp");
        dp = (int)ob->query("combat_exp");
j=damage;
if (me->query_skill_mapped("force") != "taixuan-gong")
return damage;
if (me->query_skill_mapped("unarmed") != "taixuan-gong")
return damage;
if (me->query_skill_mapped("parry") != "taixuan-gong")
return damage;
        if ((int)me->query_skill("literate", 1)> 5 )       
return damage;

if (me->query("neili") < 500)
return damage;
if (objectp(weapon = me->query_temp("weapon"))
        )
return damage;

            
  if (random(ap) < dp/2  
  && random(2)==0)
        {

                switch (random(2))
                {
                case 0:
                        result =  HIR "$n" HIR "默念太玄功口诀,太玄内"
                                            "劲齐聚于全身,$N" HIR "只觉这招攻在"
                                            "$n" HIR "身上\n,犹如碰到铜墙铁壁一般,"
                                            "丝毫不起作用。\n"NOR;
                        break;
                case 1:
                        result =  HIR "$N" HIR "一招击中$n" HIR "上身"
                                            ",可却犹如击在铜墙铁壁上一般\n,力道顿时"
                                            "消失得无影无踪。\n" NOR;
                        break;
                default:
                        result =  HIR "但见$n" HIR "一声轻啸,浑若无事"
                                            "的接下了$N" HIR "这一招,\n却没有受到"
                                            "半点伤害。\n" NOR;
                        break;
                }
message_vision(result,ob,me);
                                    if (!ob->is_busy()) ob->start_busy(3);
if ((int)me->query("qi") < (int)me->query("eff_qi")*2)
me->add("qi",damage/5+200);
if ((int)me->query("eff_qi") < (int)me->query("max_qi")*2)
me->add("eff_qi",damage/5+200);
            damage=100;
            j=100;
            return j;

        }

}




mixed hit_ob(object me, object victim, int damage_bonus, int factor, string limb)
{      
int level, jiali, time,level2;
int i, ap, dpp, dpd, dpf,lvl;
        object weapon,weapon2;
        string type, msg;
        weapon = me->query_temp("weapon");
lvl = me->query_skill("taixuan-gong", 1);
        if (random(me->query_skill("taixuan-gong",1)) < 60 ||                             me->query_skill("force",1) < 100 )
        return 0;


if (me->query_skill_mapped("force") != "taixuan-gong")
return 0;
if (me->query("neili") < 500)
return 0;
if (me->query_skill_mapped("unarmed") != "taixuan-gong")
return 0;
if (me->query_skill_mapped("parry") != "taixuan-gong")
return 0;
        if ((int)me->query_skill("literate", 1)> 5 )       
return 0;
        jiali = me->query("jiali");

if (!jiali) jiali=90;
        if( damage_bonus > 20 && random(me->query_skill("taixuan-gong",1))>120
        ) {
        victim->receive_wound("qi", (random(jiali)+80));
return random(2) ? HIW "$N" HIW "一招攻出,竟卷起千层气浪,太玄内劲"
                                   "顿时源源不绝涌入$n" HIW "体内!\n" NOR:
                                   HIW "$N" HIW "太玄内劲迸发,$n" HIW "只感全身一"
                                   "震,登时“喀喀喀”断了数根肋骨!\n" NOR;
}
}

[发帖际遇]: hxsd于令狐冲口渴之时制止了其偷西瓜的行为,并送与令狐冲美酒一瓶,事后令狐冲赠送其银两8两。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

GMT+8, 2024-5-17 18:03

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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