铁血丹心

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

[问题求助] 关于转生武功yinyang-shiertian的特殊防御问题!

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

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

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

x
yinyang-shiertian的特殊防御:
int ob_hit(object ob, object me, int damage, object weapon)

{
               string result;
       int ap, dp;

        weapon = me->query_temp("weapon");
        ap = ob->query_skill("parry");
        dp = me->query_skill("yinyang-shiertian", 1);
if (weapon) return damage;
if (me->query_skill_mapped("parry") != "yinyang-shiertian") return damage;
if( me->is_busy() && random(2)==0) return damage;
if (me->query("zhuanfinal/4") ==1 && random(3)==0)
{
                if (me->query("qi") < me->query("max_qi") )
                me->add("qi", me->query("max_qi") / 8);
                if (me->query("eff_qi",1) < me->query("max_qi",1) )
                me->add("eff_qi",me->query("max_qi")/8);
                if (me->query("qi") < me->query("max_qi") )

        result = HIY"$N使用了妙仙决!!$N全身的伤好了很多!\n"NOR;
}
else
if (me->query("zhuanfinal/5") ==1 && random(3)==0)
{
if (me->is_busy() )
me->start_busy(1);
if (!ob->is_busy() )
ob->start_busy(2);
        result = HIY"$N使用了动仙决!!$N突然动作又快了!\n"NOR;
}
else
if (me->query("zhuanfinal/6") ==1 && random(3)==0)
{
                if ((int)me->query("neili",1) < (int)me->query("max_neili",1)*2 )
                me->add("neili", me->query("max_neili") / 8);
        result = HIY"$N使用了银仙决!!$N突然内力恢复了!\n"NOR;
}
if (random(6)==0)
{
        if (!ob->is_busy())
                        ob->start_busy(2);
result = HIW "$n" HIW "面含微笑,轻轻一格,已将天下所有进攻招数全部封死。\n" NOR;
}
else        if (random(5)==0)
        {
                if (me->query("qi") < me->query("max_qi") )
                me->add("qi", me->query("max_qi") / 10);
                if (me->query("eff_qi",1) < me->query("max_qi",1) )
                me->add("eff_qi",me->query("max_qi")/10);
                        result = HIC "$n" HIC "放声长叹,霎那间,身上的伤"
                                            "在内力的作用下,好了很多。\n" NOR;

        }
else        if (random(ap * 2 / 3) < dp * 3 / 2 || random(3)==1)
        {
//                result = ([ "damage": -damage ]);
                damage=10;
                        result = HIW "$n" HIW "一声轻哼,身形微微一动,已"
                                            "飘然远去,使$N" HIW "的进攻全无用处。\n" NOR;
                switch (random(4))
                {
                case 0:
                        result = HIW "$n" HIW "面含微笑,轻轻一格,已将天"
                                            "下所有进攻招数全部封死。\n" NOR;
                        break;
                case 1:
                        result = HIW "$n" HIW "眉头微微一皱,动也不动,将"
                                            "$N" HIW "震到一边。\n" NOR;
                        break;
                case 2:
                        result = HIW "$n" HIW "身形微微一抖,已将$N" HIW
                                            "迫退至丈许开外。\n" NOR;
                        break;
                default:
                        result = HIW "$n" HIW "一声轻哼,身形微微一动,已"
                                            "飘然远去,使$N" HIW "的进攻全无用处。\n" NOR;
                        break;
                }
        }
if (result && ob && me)
message_vision(result,ob,me);

return damage;
}

返回的都是正数的damage,等于特殊防御生效或者失效都会成倍的增加自己受到的伤害呀!
能否改成:
int ob_hit(object ob, object me, int damage, object weapon)

{
               string result;
       int ap, dp;

        weapon = me->query_temp("weapon");
        ap = ob->query_skill("parry");
        dp = me->query_skill("yinyang-shiertian", 1);
if (weapon) return 0;
if (me->query_skill_mapped("parry") != "yinyang-shiertian") return 0;
if( me->is_busy() && random(2)==0) return 0;
if (me->query("zhuanfinal/4") ==1 && random(3)==0)
{
                if (me->query("qi") < me->query("max_qi") )
                me->add("qi", me->query("max_qi") / 8);
                if (me->query("eff_qi",1) < me->query("max_qi",1) )
                me->add("eff_qi",me->query("max_qi")/8);
                if (me->query("qi") < me->query("max_qi") )

        result = HIY"$N使用了妙仙决!!$N全身的伤好了很多!\n"NOR;
                damage = 0;
}
else
if (me->query("zhuanfinal/5") ==1 && random(3)==0)
{
if (me->is_busy() )
me->start_busy(1);
if (!ob->is_busy() )
ob->start_busy(2);
        result = HIY"$N使用了动仙决!!$N突然动作又快了!\n"NOR;
                damage = 0;
}
else
if (me->query("zhuanfinal/6") ==1 && random(3)==0)
{
                if ((int)me->query("neili",1) < (int)me->query("max_neili",1)*2 )
                me->add("neili", me->query("max_neili") / 8);
        result = HIY"$N使用了银仙决!!$N突然内力恢复了!\n"NOR;
                 damage = 0;
}
if (random(6)==0)
{
        if (!ob->is_busy())
                        ob->start_busy(2);
result = HIW "$n" HIW "面含微笑,轻轻一格,已将天下所有进攻招数全部封死。\n" NOR;
damage = 0;
}
else        if (random(5)==0)
        {
                if (me->query("qi") < me->query("max_qi") )
                me->add("qi", me->query("max_qi") / 10);
                if (me->query("eff_qi",1) < me->query("max_qi",1) )
                me->add("eff_qi",me->query("max_qi")/10);
                        result = HIC "$n" HIC "放声长叹,霎那间,身上的伤"
                                            "在内力的作用下,好了很多。\n" NOR;
                        damage = 0;
        }
else        if (random(ap * 2 / 3) < dp * 3 / 2 || random(3)==1)
        {
//                result = ([ "damage": -damage ]);
                damage = - (damage - 10);                       
                result = HIW "$n" HIW "一声轻哼,身形微微一动,已"
                                            "飘然远去,使$N" HIW "的进攻全无用处。\n" NOR;
                switch (random(4))
                {
                case 0:
                        result = HIW "$n" HIW "面含微笑,轻轻一格,已将天"
                                            "下所有进攻招数全部封死。\n" NOR;
                        break;
                case 1:
                        result = HIW "$n" HIW "眉头微微一皱,动也不动,将"
                                            "$N" HIW "震到一边。\n" NOR;
                        break;
                case 2:
                        result = HIW "$n" HIW "身形微微一抖,已将$N" HIW
                                            "迫退至丈许开外。\n" NOR;
                        break;
                default:
                        result = HIW "$n" HIW "一声轻哼,身形微微一动,已"
                                            "飘然远去,使$N" HIW "的进攻全无用处。\n" NOR;
                        break;
                }
        }
if (result && ob && me)
message_vision(result,ob,me);

return damage;
}
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-12-28 08:17 | 显示全部楼层
12T 不在修改,可以考虑再cut,呵呵。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
头像被屏蔽
发表于 2011-1-3 18:15 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

GMT+8, 2024-5-21 22:00

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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