找回密码
 注册
搜索
查看: 481|回复: 0

PFM 七星绝命剑

[复制链接]
门派:不明
发表于 2010-9-3 15:04:06 | 显示全部楼层 |阅读模式
#include <ansi.h>
#include "/kungfu/skill/eff_msg.h";
inherit F_SSERVER;
int perform(object me, object target)
{
        string msg,dodge_skill;
        object weapon = me->query_temp("weapon");
        int damage, p;
        if( !target ) target = offensive_target(me);

        if( !target
         || !target->is_character()
         || !me->is_fighting(target) )
                return notify_fail("你只能对战斗中的对手使用「七星绝命剑」绝技。。\n");

        if( (int)me->query_skill("quanzhen-jianfa", 1) < 101 )
                return notify_fail("你的全真剑法不够熟练,使不出「七星绝命剑」绝技。\n");

        if ( !weapon
         || weapon->query("skill_type") != "sword"
         || me->query_skill_mapped("sword") != "quanzhen-jianfa"
         || me->query_skill_mapped("parry") != "quanzhen-jianfa")
               return notify_fail("你现在无法使用七星绝命剑。\n");

        if((int)me->query_skill("sword", 1) < 100 )
               return notify_fail("你的基本功还不够娴熟,使不出「七星绝命剑」绝技。\n");

        if((int)me->query_dex() < 25)
               return notify_fail("你的身法还不够迅,使不出「七星绝命剑」绝技。\n");

        if((int)me->query_skill("force", 1) < 100)
               return notify_fail("你的内功修为不够,无法使用「七星绝命剑」绝技。\n");  

        if((int)me->query_temp("hebi"))
               return notify_fail("你正在施展双剑合壁,无法使用「七星绝命剑」绝技。\n");

        if((int)me->query("neili") < 400)
               return notify_fail("你的内力不够,无法使用「七星绝命剑」绝技。\n");

        if((int)me->query("jingli")< 300)
               return notify_fail("你的精力不够,无法使用「七星绝命剑」绝技。\n");

        msg = HIW"\n$N一声长啸,一抖手中剑,剑幕中飞出七朵寒星,既如**又如流星般向$n罩了过去。\n"NOR;

当前经验随机数 > 对方经验的一半  这个命中率还算凑合,应该比一半要高些
        if(random(me->query("combat_exp")) > (int)target->query("combat_exp")/2 )
        {
           damage = 4 * (int)me->query_skill("quanzhen-jianfa", 1);
           damage = damage / 2 + random(damage / 2);
           if (damage>1500) damage=1500;
上面这段说明 只有 全真剑法 400 级,才可以顶住上限,400 级以后,伤害就固定了 1500 以内
下面这句话说明,如果 先天功 > 100 级, 伤害翻倍。1500 就变成3000 了
           if (me->query_skill("xiantian-gong")>100) damage *= 2;

               else message_vision(HIG"只是$N的先天功还没到家,剑气微弱。\n"NOR, me);
           me->add("neili", -damage/3);
           me->add("jingli",-100);
伤害的是 气和 气上限 ,不过似乎看起来伤害并不高 ,满级才3000 的气 ,打的气上限也不高
           target->receive_damage("qi", damage);
           target->receive_wound("qi", damage/4);
           msg += HIR"$n躲闪不及,身中七剑,“哇”的狂叫一声,鲜血狂喷而出!\n"NOR;
           p = (int)target->query("qi")*100/(int)target->query("max_qi");
           msg += "( $n"+eff_status_msg(p)+" )\n";
           target->set_temp("last_damage_from", "被"+me->name()+"杀");
PFM busy 4 秒。算长的了。
           me->start_perform(4,"「七星绝命剑」");
        }
        else {
              dodge_skill = target->query_skill_mapped("dodge");
              if( !dodge_skill ) dodge_skill = "dodge";
              msg += SKILL_D(dodge_skill)->query_dodge_msg(target, 1);
              me->add("neili", -100);
              me->start_busy(2);
              me->start_perform(3,"「七星绝命剑」");
        }
        message_vision(msg, me, target);
        return 1;
}


综上所述,似乎这是一个很垃圾的化学pfm 。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-17 07:51 , Processed in 0.038548 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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