铁血丹心

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

[新手指南] 先天气功

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

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

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

x
#include <ansi.h>
// xiantian-qigong.c 先天气功
inherit FORCE;

mapping *action = ({
([      "action" : "$N单掌一抖,运聚先天功功力,呼啸着向$n的$l处拍去",
        "dodge"  : 87,
        "force"  : 430,
        "attack" : 163,
        "parry"  : 81,
        "damage" : 383,
        "damage_type": "内伤"
]),
([      "action" : "$N右掌平伸,左掌运起先天功的劲力,猛地拍向$n的$l",
        "dodge"  : 85,
        "force"  : 440,
        "attack" : 147,
        "parry"  : 77,
        "damage" : 281,
        "damage_type": "内伤"
]),
([      "action" : "$N身形一展,右掌护住心脉,左掌中攻直进,贯向$n$l",
        "dodge"  : 75,
        "force"  : 450,
        "attack" : 182,
        "parry"  : 67,
        "damage" : 293,
        "damage_type": "内伤"
]),
([      "action" : "$N运转先天真气,双掌回圈,顿时一波澎湃的气劲直袭$n",
        "dodge"  : 87,
        "force"  : 480,
        "attack" : 183,
        "parry"  : 85,
        "damage" : 305,
        "damage_type": "内伤"
]),
});

int valid_enable(string usage)
{
        int lvl;
        lvl = (int)this_player()->query_skill("xiantian-qigong", 1);

        if (lvl >= 180)   
                return usage == "force" || usage == "unarmed" || usage == "parry";
        else
                return usage == "force";
      
}


mapping query_action(object me, object weapon)
{
        return action[random(sizeof(action))];
}

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

        lvl = me->query_skill("xiantian-qigong", 1);

        if (damage_bonus < 50
           || lvl < 180
           || random(5)==0
           || me->query("neili") < 100 )
                return 0;

        if (damage_bonus > victim->query_con() || random(8)==0)
        {
                me->add("neili", -30);
                victim->receive_damage("qi", (damage_bonus - 50) / 2+30, me);
                victim->receive_wound("qi", (damage_bonus - 50) / 2+20, me);
                return HIR"随着""$N""的攻击,一股先天纯阳真力瞬间爆发了出来,$n"  //return HIW "$N" HIW "先天功的潜力发挥了出来,突然间$n"
                       HIR "只感五内俱焚,喉咙沙哑无比,不禁咳一口鲜血!\n" NOR;// HIW "只感喉咙一甜,喷出一口鲜血!\n" NOR;
        }
}


int difficult_level()
{
        return 500;
}

int valid_learn(object me)
{
        int lvl = (int)me->query_skill("xiantian-qigong", 1);
        int t = 1, j;
        if (lvl<=100)
                for (j = 1; j < lvl / 10; j++)
                     t*=2;

        if ( me->query("gender") == "无性")
                return notify_fail("你无根无性,阴阳不调,难以修行玄门正宗的先天气功。\n");

        if ( me->query("class") == "bonze" )
                return notify_fail(RANK_D->query_respect(me)+"欲修我道家玄门气功,怎又去入了佛门?\n");

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

        if(lvl<=100)
        {
                if (lvl > 10 && (int)me->query("shen") < t * 100)
                        return notify_fail("你的侠义正气太低了。\n");
        }
        else
        {
                if ((int)me->query("shen") < (51200 + (lvl - 100) * 1000))
                        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("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("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("shenghuo-shengong",1)    ||
me->query_skill("shenyuan-gong",1)   ||
me->query_skill("huashan-neigong",1)   ||
me->query_skill("zixia-shengong",1) ||
me->query_skill("shayi-xinfa",1)||
me->query_skill("biyun-xinfa",1)||
me->query_skill("xuantian-wuji",1)  ||
me->query_skill("guiyuan-tunafa",1) )
                return notify_fail("你不先散了别派内功,怎能学习先天气功?!\n");

        return 1;
}

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

string exert_function_file(string func)
{
        return __DIR__"xiantian-qigong/" + func;
}

string perform_action_file(string action)
{

        return __DIR__"xiantian-qigong/perform/" + action;
}

mixed ob_hit(object ob, object me, int damage)
{
        int ap, dp, cost;
        mapping result;
string msg;
        if (me->query_skill("xiantian-qigong", 1) < 200 ||
            me->query_skill_mapped("force") != "xiantian-qigong" ||
            me->query("neili") < 1000 ||
            ! living(me))
                return 1;

        cost = damage / 2;
        if (cost > 100) cost = 100;

        ap = ob->query_skill("force") * 12 + ob->query("max_neili");
        dp = me->query_skill("force") * 12 + me->query("neili");

        if (ap / 2 + random(ap) < dp )
        {
                me->add("neili", -100);
                result = ([ "damage": -damage ]);

                switch (random(2))
                {
                case 0:
                        msg=HIR "只见$N" HIR "先天护体神功自然而"
                                            "然发动,将$n" HIR "的力道尽数反震回"
                                            "去。\n" NOR;
                        ob->start_busy(3);
                        break;
                case 1:
                        msg=HIR "只见$N" HIR "先天护体神功自然而"
                                            "然发动,将$n" HIR "的攻击化为无形。\n" NOR;
                        break;
                default:
                        msg=HIR "只见$N" HIR "先天护体神功自然而"
                                            "然发动,抵抗$n" HIR "的攻击。\n" NOR;
                        break;
                }
//msg += damage_msg(damage, "瘀伤");
damage=damage/3;
message_vision(msg, me, ob);
               
        }
return damage;
}

[发帖际遇]: hxsd护送杨不悔遇见杨逍,杨逍得知纪晓芙死亡过于激动抓断hxsd臂骨,hxsd疗伤用去银两19两。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-11-25 10:10 | 显示全部楼层
这是什么东西?
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-11-26 09:24 | 显示全部楼层
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-11-26 12:35 | 显示全部楼层
先天功的秘籍呵呵呵很好很强大 顺便发个2007版的先天大法代码
// kungfu/skill/taixuan-gong/taixuan
//海洋II(云起云落)
//星星lywin 2000/6/10

// powerup.c
#include <ansi.h>
inherit F_CLEAN_UP;
void remove_effect(object me, int amount);
int exert(object me, object target)
{
        int skill;
        if( target != me ) return
            notify_fail("你只能对自己用["+HIW+"先天大法"+NOR+"]\n"NOR,);
//        if( (int)me->query_temp("qzj_tong") )
//                return notify_fail("你已经在运同归剑法中了。\n");
        if ((int)me->query_skill("xiantian-qigong", 1) < 200)
                return notify_fail("你的先天气功太差了。\n");
        if( (int)me->query("neili") < 500 ) return
            notify_fail("你的内力不够。\n");
        if( (int)me->query_temp("powerup") ) return
            notify_fail("你已经在运功中了。\n");
        if( (int)me->query_temp("powerupxtg") ) return
            notify_fail("你已经在先天大法了。\n");
        if( (int)me->query_temp("poweruptxg") ) return
            notify_fail("你已经在运太玄功了。\n");
        if( (int)me->query_temp("powerupkh") ) return
            notify_fail("你已经在运葵花无敌功了。\n");
        if( (int)me->query_temp("jiuyin/powerup") )
                return notify_fail("你已经在运九阴真功中了。\n");
        if( (int)me->query_temp("hslj/powerup") )
                return notify_fail("你已经在运万法归宗中了。\n");
        skill = me->query_skill("force");

        me->add("neili", -500);
        me->receive_damage("qi",0);

        message_combatd(
HIR"$N运起了先天大法全身的衣服随着真气飘动了起来,这正是当年华山论剑中名传天下[先天大法]。\n" NOR, me);
        me->add_temp("apply/attack", skill/4);
        tell_object(me,HIR"你的攻击力提高了!\n"NOR);
        me->add_temp("apply/dodge", skill/4);
        tell_object(me,HIR"你的防御力提高了!\n"NOR);
        me->set_temp("powerup", 1);
        me->set_temp("powerupxtg", 1);
        me->add_temp("apply/strength",skill/25);
        tell_object(me,HIG"你的力量提高了!\n"NOR);
        me->add_temp("apply/dexerity",skill/25);
        tell_object(me,HIG"你的速度提高了!\n"NOR);
        me->add_temp("apply/constitution",skill/25);
        tell_object(me,HIG"你的根骨提高了!\n"NOR);
        me->add_temp("apply/intelligence",skill/25);
        tell_object(me,HIG"你的悟性提高了!\n"NOR);
        me->start_call_out((:call_other,__FILE__,"remove_effect",me,skill/10:),skill);
        if( me->is_fighting() ) me->start_busy(3);
        return 1;
}

void remove_effect(object me, int amount)
{
        int skill;
        skill = me->query_skill("force");
        me->add_temp("apply/attack", - skill/4);
        me->add_temp("apply/dodge", - skill/4);
        me->delete_temp("powerupxtg");
        me->delete_temp("powerup");
        me->add_temp("apply/strength",- skill/25);
        me->add_temp("apply/intelligence",- skill/25);
        me->add_temp("apply/constitution",- skill/25);
        me->add_temp("apply/dexerity" , - skill/25);

        tell_object(me, "你的["+HIR+"先天大法"+NOR+"]运行完毕,将内力收回丹田。\n");
}

[发帖际遇]: 烟雨江南拾得李莫愁的冰魄银针,却不幸中毒,用去医疗费银两13两。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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