铁血丹心

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

[新手指南] 沧浪鞭法代码

[复制链接]
发表于 2010-2-8 13:37 | 显示全部楼层 |阅读模式

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

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

x
// Copyright (C) 2003, by Lonely. All rights reserved.
// This software can not be used, copied, or modified
// in any form without the written permission from authors.

#include <ansi.h>

inherit SKILL;

string *action_msg = ({
        HIR"$N跃起三丈,身在半空,招式陡变,“太古神龙”如惊涛骇浪,卷转电擎而落"NOR,
        YEL"$N鞭式一变,杀机四布,展开了天雷破有去无回的杀招“太古伏羲说八卦”"NOR,
        GRN"$N手中鞭影乍迸,卷起万重电光,“太古开天”轰然横扫。"NOR,
        HIC"$N惊叱一声,双手并举,寒光陡飞,霎时人鞭合一,凌空直向$n飞去"NOR,
        "$N伫立不动,挥动$w,使出一招「大海沉沙」,手中$w缓缓向$n的$l击去,去势虽不劲急,\n但鞭势沉滞,如同压了几千斤泥沙一般",
        "$N手持$w中央,一招「海天一线」,$w一端陡然一翻,点向$n前胸,劲风所至,将$n退路封住,\n另一端如灵蛇出洞,疾速卷向$n脚踝",
        "$N冷哼一声,急催内力,使出一招「巨浪排空」,鞭势加快,只见十数重鞭影如惊滔骇浪般向$n的$l疾卷而来",
        "$N缓缓转动手中$w,一式「万里无波」,手中$w去势奇慢,不带丝毫破空之声,\n但所过之处尘土飞扬,$w上所带劲风已刮得人扑面生疼",
        "$N身形游走不定,忽地使出一招「沧海一粟」,$w上风声大作,刹那间数十条鞭影从四面八方向$n周身要害击到",
        "$N狂啸一声,双目精光大盛,一招「怒海蓝涛」,鞭势展开,或横扫直击,或盘旋翻卷,倾刻间已将$n全身裹住",
});

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

int valid_learn(object me)
{
        if ((int)me->query("max_neili") < 50)
                return notify_fail("你的内力不够。\n");
               
        if ((int)me->query_skill("bibo-shengong", 1) < 120)
                return notify_fail("你的碧波神功火候太浅。\n");
        if ((int)me->query_skill("anying-fuxiang", 1) < 120)
                return notify_fail("你的暗影浮香火候太浅。\n");
        if ((int)me->query_skill("lanhua-shou", 1) < 120)
                return notify_fail("你的兰花拂穴手火候太浅。\n");
        if ((int)me->query_skill("luoying-shenjian", 1) < 120)
                return notify_fail("你的落英神剑火候太浅。\n");
        if ((int)me->query_skill("luoying-zhang", 1) < 120)
                return notify_fail("你的落英神剑掌火候太浅。\n");
        if ((int)me->query_skill("tanzhi-shentong", 1) < 120)
                return notify_fail("你的弹指神通火候太浅。\n");
        if ((int)me->query_skill("xuanfeng-leg", 1) < 120)
                return notify_fail("你的旋风扫叶腿火候太浅。\n");
        if ((int)me->query_skill("yuxiao-jian", 1) < 120)
                return notify_fail("你的玉箫剑法火候太浅。\n");
       if ((int)me->query_skill("count", 1) < 120)
                return notify_fail("你的阴阳八卦火候太浅。\n");
       if ((int)me->query_skill("qimen-wuxing", 1) < 120)
                return notify_fail("你的奇门五行火候太浅。\n");

        return 1;
}

mapping query_action(object me, object weapon)
{
        return ([
                "action": action_msg[random(sizeof(action_msg))],
                "damage": 110 + random(310),
                "attack": 50 + random(30),
                "dodge" : 50 + random(30),
                "parry" : 50 + random(30),
                "force" : 150 + random(310),       
                "damage_type" : random(2)?"鞭伤":"刺伤",
        ]);
}

int practice_skill(object me)
{
        object weapon, where;
        
        where = environment(me);
          if ((int)me->query_skill("anying-fuxiang", 1) < 120)
                return notify_fail("你的暗影浮香火候太浅。\n");
        if ((int)me->query_skill("lanhua-shou", 1) < 120)
                return notify_fail("你的兰花拂穴手火候太浅。\n");
        if ((int)me->query_skill("luoying-shenjian", 1) < 120)
                return notify_fail("你的落英神剑火候太浅。\n");
        if ((int)me->query_skill("luoying-zhang", 1) < 120)
                return notify_fail("你的落英神剑掌火候太浅。\n");
        if ((int)me->query_skill("tanzhi-shentong", 1) < 120)
                return notify_fail("你的弹指神通火候太浅。\n");
        if ((int)me->query_skill("xuanfeng-leg", 1) < 120)
                return notify_fail("你的旋风扫叶腿火候太浅。\n");
        if ((int)me->query_skill("yuxiao-jian", 1) < 120)
                return notify_fail("你的玉箫剑法火候太浅。\n");
       if ((int)me->query_skill("count", 1) < 120)
                return notify_fail("你的阴阳八卦火候太浅。\n");
       if ((int)me->query_skill("qimen-wuxing", 1) < 120)
                return notify_fail("你的奇门五行火候太浅。\n");      
              
        if (!objectp(weapon = me->query_temp("weapon")) || (string)weapon->query("skill_type") != "whip")
                return notify_fail("你使用的武器不对。\n");
        if ((int)me->query("qi") < 60)
                return notify_fail("你的体力不够练沧浪鞭法。\n");

        if ((int)me->query("neili") < 160)
                return notify_fail("你的内力不够练沧浪鞭法。\n");


        //message_vision(HIC"$N面对海潮,徐徐挥鞭,使呼吸与海潮同步,渐渐感觉体内真气也如海潮澎湃一般无穷无尽。\n"NOR, me);
        tell_object(this_player(),"你面对海潮,徐徐挥鞭,使呼吸与海潮同步,渐渐感觉体内真气也如海潮澎湃一般无穷无尽。\n");
        if (me->query("neili") < me->query("max_neili"))
        {
                me->add("neili", 30);
        }
        me->recieve_damage("qi", 50);
        return 1;
}

string perform_action_file(string action)
{
        return __DIR__"canglang-bian/" + action;
}

mixed hit_ob(object me, object victim, int damage_bonus, int factor)
{
       string msg;
       int j, k;
int level;
       j = me->query_skill("yuxiao-jian", 1);
       k = me->query_skill("qimen-wuxing",1);
level = (int) me->query_skill("bibo-shengong",1);
if (random(6)==0 && level>=300 && me->query_skill_mapped("force") == "bibo-shengong")
        {
if (victim->query("qi") > 600)
victim->add("qi",-250+random(200));
victim->add("eff_qi",-(50+random(200)));
                me->add("neili", -20);
if (!victim->is_busy()) victim->start_busy(1);
return HIR "$N施展开奇门五行,$n心神一乱,被打中$l。结果鲜血狂奔!!\n";
        }
        if( random(damage_bonus/2) > victim->query_str() ) {
                victim->receive_wound("qi", (damage_bonus - 10) / 2+30 );
                return HIB "$N徐徐挥鞭,使呼吸与海潮同步,,手中$w圈转如海潮澎湃一般无穷无尽圈向 $n全身! \n" NOR;
        }
}
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-2-8 15:09 | 显示全部楼层
牛!一个垃圾功夫要这么多skills支持才能学。

[发帖际遇]: 田庆于令狐冲口渴之时制止了其偷西瓜的行为,后得到岳不群的称赞,增加声望1。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

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

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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