找回密码
 注册
搜索
查看: 439|回复: 2

女美女拳法 pfm 摄心

[复制链接]
门派:不明
发表于 2010-9-3 17:15:49 | 显示全部楼层 |阅读模式
GM 女弟子靠 MNQF 活着,那就来分析一下 MNQF 的 PFM 摄心 。

不过似乎都在使用 百媚。 百媚的 code  正在求, 出了以后再帖出来。

// shexin.c 摄心

#include <ansi.h>

inherit F_SSERVER;

void affectob(object ,object ,int ,int ,int);
void dohit(object,object);

int perform(object me, object target)
{
        int affect,skill,hits;
        string msg;
       
        if(!me->is_fighting())
                return notify_fail("你没在战斗中呢!\n");

        if(!target) target = offensive_target(me);

        if( (skill=(int)me->query_skill("meinu-quanfa", 1)) < 150 )
                return notify_fail("你的美女拳法还不够纯熟,无法施展「摄心」绝技。\n");

        if(me->query_skill_mapped("parry") != "meinu-quanfa")
                return notify_fail("你没有使用美女拳法作为招架!\n");
       
        if ( me->query_temp("weapon"))
                return notify_fail("你手持武器,如何使用「摄心」绝技?\n");

        if(me->query("gender")=="无性")
                return notify_fail("面对无性对手,你如何施展「摄心」绝技?\n");
               
摄心不能对同性使用 。。。。
        if(target->query("gender")==me->query("gender"))                     
                return notify_fail("面对同性对手,你如何施展「摄心」绝技。\n");

        if(me->query("max_neili")<1200)
                return notify_fail("你内力不够,无法使用「摄心」绝技。\n");

基数是 容貌 + 随机容貌的一半 男性全体减半
        affect=me->query_per()+random(me->query("per")/2);

        if (me->query("gender")=="男性") affect=affect / 2;

如果和尚、道士的各种附加功法(大乘佛法什么的) 大于  美女拳法等级 + 基数除2 ,则摄心失效,自身busy 2秒 (不是PFM BUSY)
        if (   target->query_skill("buddhism") > (skill+random(affect/2))  //判断monk
            || target->query_skill("dacheng-fofa") > (skill+random(affect/2))
            || target->query_skill("taoism") > (skill+random(affect/2)) )
        {
                msg = HIY"\n$N对$n轻轻一笑,眼光之中流露出妩媚之意,想施展「摄心」绝技。\n"+
                        HIW"不料$n定了定神,突然大喝一声,顿时把$N惊出一身冷汗。\n"NOR;
                message_vision(msg,me,target);
                me->start_busy(4);
        }
如果自身容貌小于对手容貌,摄心实效,busy 2秒
        else if (target->query_per()>=me->query_per())
        {
                msg = HIY"\n$N忽然对$n轻轻一笑,眼光四处流动,所经过之处似乎充满了妩媚。\n"NOR;
                message_vision(msg, me, target);
                message_vision(HIW"但是$N沮丧地发觉,$n比自己漂亮,「摄心」绝技无法施展。\n"NOR,me,target);
                me->start_busy(2);
        }
成功施放条件 随机数0 - 9 大于 5 ,很苛刻的条件了,成功率不足 50% 用三次能成功一次吧
          else if (random(10)>5)
        {
                msg = HIY"\n$N忽然对$n轻轻一笑,眼光四处流动,所经过之处似乎充满了妩媚,$n不由得一呆。\n"NOR;
      
                message_vision(msg, me, target);

                     最好情况,随机取美女拳法等级 大于 对方 force的一半
                if ( random(skill) > target->query_skill("force",1)/2 )
                {
                           减少对方敏捷 (基数),对手不能使用PFM 3秒,摄心PFM busy 4秒 ,自身busy 1秒
                        target->add_temp("apply/dexerity", -affect);
                        hits = skill / 10;
                        me->start_perform(4,"摄心");
                        target->apply_condition("no_perform", 3);
                        target->set_temp("shexin", 1);
                        me->start_busy(1);
                        target->start_busy(1);
                        me->add("jingli",-100);
                        me->add("neili",-300);
攻击对手2招,每招都是普通攻击的伤害,跟加力大小有关
                        dohit(me,target);
                        dohit(me,target);
最关键的就是这里,这是一个递归调用,一直到对手死亡,每次攻击就好像互搏一样,出手2下,每次出手都掉内力,一直到内力小于 800 或者一方结束战斗才停止,期间不可使用摄心
                        call_out("affectob",random(2)+2, me, target, affect, hits,3);
                }
                else
                {
这是一般情况,打对方两下 pfm busy 4秒
                        message_vision(CYN"\n但见$n大喝一声,想用雄浑的内力打破$N四周这妩媚的气氛!\n"+
                                        "结果$n只发出两、三招,就无法忍受$N妩媚的眼光了。\n"NOR, me, target);
                        me->start_busy(1);
                        target->start_busy(1);
                        me->add("neili",-100);
                        target->add_temp("apply/dexerity", -affect);
                        dohit(me,target);
                        dohit(me,target);
                        if (skill >= 200) dohit(me,target);
                        target->add_temp("apply/dexerity", affect);
                        me->start_perform(4,"摄心");
                }
        }
        else
        {
                msg = HIY"\n$N忽然对$n轻轻一笑,想施展「摄心」绝技。\n"+
                        HIM"谁知$n根本就没有上当。\n"NOR;
                message_vision(msg, me, target);
                me->start_perform(5,"摄心");
        }      
        return 1;
}

void affectob(object me,object target,int affect,int hits,int now)
{
        if( !me
                || !target
                || ( now > hits)
                || objectp(me->query_temp("weapon"))
                || target->is_ghost()
                || me->is_ghost()  
                || !me->is_fighting(target)
                || me->query("neili") < 800
                || me->query_skill_prepared("cuff")!="meinu-quanfa"
                || me->query_skill_prepared("parry")!="meinu-quanfa")
        {
                if( me ) message_vision(HIC"\n$N内力突然一顿,眼光又恢复平静。\n"NOR, me);
                if( target && target->query_temp("shexin"))
                        target->delete_temp("shexin");
                if ( target )  target->add_temp("apply/dexerity", affect);
                        return;
        }
这里很奇妙,某段时间还会取消对方的 pfm bujue busy ,sld 和 gm 是仇敌啊?
        if( now > (hits/2) && target->query_temp("shexin"))
                target->delete_temp("bujue_busy");

        dohit(me,target);
        dohit(me,target);
        me->start_perform(3,"摄心");
        call_out("affectob",random(2)+2,me,target,affect,hits,now+1);
}

void dohit(object me,object target)
{
        int neili,jiali;
        neili = me->query("neili");
        jiali = me->query("jiali");
        COMBAT_D->do_attack(me, target,0, 1);
        if (me->query("neili")<neili && jiali>0) me->set("neili",neili-jiali/3);
}
门派:不明
 楼主| 发表于 2010-9-3 17:23:57 | 显示全部楼层
摄心成为万年仓库pfm 也不是没有原因的。。。

如果 改了 else if (random(10)>5)  把5 改成 3 ,那么摄心的使用率就能提升一下了。
门派:不明
发表于 2010-9-3 17:27:44 | 显示全部楼层
要求太苛刻了,没有市场
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|书剑永恒MUD ( 闽ICP备14012032号|闽公网安备 35050202000162号 )

GMT+8, 2025-5-17 06:53 , Processed in 0.043158 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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