找回密码
 注册
搜索
查看: 868|回复: 12

有一个好消息和大家分享

[复制链接]
门派:少林派
发表于 2018-1-9 10:34:26 | 显示全部楼层 |阅读模式
M说要给少林加一个毁灭技的
我说就少林没有毁灭技,M回答说会给

之前嵩山有人写了一个PFM 雪窖被M采纳了,我们少林谁弄一个牛逼好看的终结技让M参考一下
兴许两天就出来了
门派:嵩山派
发表于 2018-1-9 10:40:25 | 显示全部楼层
需要什么样的pfm呢?刀?棍?鞭?
门派:少林派
发表于 2018-1-9 10:50:09 | 显示全部楼层
// This program is a part of NITAN MudLIB

#include <ansi.h>
#include <combat.h>

#define LUAN "「" HIM "达摩乱气剑" NOR "」"

inherit F_SSERVER;

string final(object me, object target, int damage);

int perform(object me, object target)
{
        object weapon;
        string msg;
        int ap, dp;
        int damage;

        if (userp(me) && ! me->query("can_perform/damo-jian/luan"))
                return notify_fail("你还没有受过高人指点,无法施展" LUAN "。\n");

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

        if (! target || ! me->is_fighting(target))
                return notify_fail(LUAN "只能对战斗中的对手使用。\n");

        if (! objectp(weapon = me->query_temp("weapon")) ||
            (string)weapon->query("skill_type") != "sword")
                return notify_fail("你所使用的武器不对,难以施展" LUAN "。\n");

        if ((int)me->query_skill("damo-jian", 1) < 250)
                return notify_fail("你达摩剑法不够娴熟,难以施展" LUAN "。\n");

        if (me->query_skill_mapped("sword") != "damo-jian")
                return notify_fail("你没有激发达摩剑法,难以施展" LUAN "。\n");

        if ((int)me->query("max_neili") < 2000)
                return notify_fail("你的内力修为不够,难以施展" LUAN "。\n");

        if (me->query("neili") < 300)
                return notify_fail("你现在的真气不足,难以施展" LUAN "。\n");

        if (! living(target))
                return notify_fail("对方都已经这样了,用不着这么费力吧?\n");

        msg = HIM "$N" HIM "回转剑锋,手中" + weapon->name() +
              HIM "紫光荡漾,如作龙吟,无形剑气笼罩$n"
              HIM "全身。\n" NOR;

        ap = attack_power(me, "sword") + me->query_skill("force");
        dp = defense_power(target, "force") + target->query_skill("force");

        if (ap / 2 + random(ap) > dp)
        {
                damage = damage_power(me, "sword");
                msg += COMBAT_D->do_damage(me, target, WEAPON_ATTACK, damage, 55,
                                           (: final, me, target, damage );
                me->start_busy(2);
                me->add("neili", -200);
        } else
        {
                msg += CYN "可是$n" CYN "内力深厚,使得$P"
                       CYN "这一招没有起到任何作用。\n" NOR;
                me->start_busy(3);
                me->add("neili", -100);
        }
        message_combatd(msg, me, target);

        return 1;
}

string final(object me, object target, int damage)
{
        int lvl = me->query_skill("damo-jian", 1);

        target->affect_by("damo_luanqi",
                ([ "level"    : lvl + random(lvl),
                   "id"       : me->query("id"),
                   "duration" : lvl / 50 + random(lvl / 20) ]));

        return  HIR "霎时$n" HIR "心头一阵迷惑,体内的真气登时"
                "不听使唤,四处游走。\n" NOR;
}
门派:嵩山派
发表于 2018-1-9 10:50:30 | 显示全部楼层
或者说复合武功?类似桃花岛的飞影或星河那样的?
门派:少林派
发表于 2018-1-9 10:51:40 | 显示全部楼层
// This program is a part of NITAN MudLIB

#include <ansi.h>
#include <combat.h>

#define SHANG "「" HIG "达摩伤神剑" NOR "」"

inherit F_SSERVER;

string final(object me, object target, int damage);

int perform(object me, object target)
{
        object weapon;
        string msg;
        int ap, dp;
        int damage;

        if (userp(me) && ! me->query("can_perform/damo-jian/shang"))
                return notify_fail("你还没有受过高人指点,无法施展" SHANG "。\n");

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

        if (! target || ! me->is_fighting(target))
                return notify_fail(SHANG "只能对战斗中的对手使用。\n");

        if (! objectp(weapon = me->query_temp("weapon")) ||
            (string)weapon->query("skill_type") != "sword")
                return notify_fail("你所使用的武器不对,难以施展" SHANG "。\n");

        if ((int)me->query_skill("damo-jian", 1) < 250)
                return notify_fail("你达摩剑法不够娴熟,难以施展" SHANG "。\n");

        if (me->query_skill_mapped("sword") != "damo-jian")
                return notify_fail("你没有激发达摩剑法,难以施展" SHANG "。\n");

        if ((int)me->query("max_neili") < 2000)
                return notify_fail("你的内力修为不够,难以施展" SHANG "。\n");

        if (me->query("neili") < 300)
                return notify_fail("你现在的真气不足,难以施展" SHANG "。\n");

        if (! living(target))
                return notify_fail("对方都已经这样了,用不着这么费力吧?\n");

        msg = HIG "$N" HIG "将手中" + weapon->name() +
              HIG "轻轻一振,剑脊叮叮作响,无形剑气直指$n"
              HIG "气海要穴。\n" NOR;

        ap = attack_power(me, "sword") + (int)me->query("int") * 20;
        dp = defense_power(target, "force") + (int)target->query("con") * 20;

        if (ap / 2 + random(ap) > dp)
        {
                damage = damage_power(me, "sword");
                msg += COMBAT_D->do_damage(me, target, WEAPON_ATTACK, damage, 55,
                                           (: final, me, target, damage );
                me->start_busy(2);
                me->add("neili", -200);
        } else
        {
                msg += CYN "可是$n" CYN "内力深厚,使得$P"
                       CYN "这一招没有起到任何作用。\n" NOR;
                me->start_busy(3);
                me->add("neili", -100);
        }
        message_combatd(msg, me, target);

        return 1;
}

string final(object me, object target, int damage)
{
        int lvl = me->query_skill("damo-jian", 1);

        target->affect_by("damo_shangshen",
                ([ "level"    : lvl + random(lvl),
                   "id"       : me->query("id"),
                   "duration" : lvl / 50 + random(lvl / 20) ]));

        target->receive_damage("jing", damage / 2, me);
        target->receive_wound("jing", damage / 4, me);

        return HIR "结果$n" HIR "只觉气海穴上一痛,眼前一团"
               "黑,阵阵晕眩,难以继续战斗。\n" NOR;
}
门派:少林派
发表于 2018-1-9 10:52:16 | 显示全部楼层
// This program is a part of NITAN MudLIB

#include <ansi.h>
#include <combat.h>

#define ZHE "「" HIR "达摩折元剑" NOR "」"

inherit F_SSERVER;

string final(object me, object target, int damage);

int perform(object me, object target)
{
        object weapon;
        string msg;
        int ap, dp;
        int damage;

        if (userp(me) && ! me->query("can_perform/damo-jian/zhe"))
                return notify_fail("你还没有受过高人指点,无法施展" ZHE "。\n");

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

        if (! target || ! me->is_fighting(target))
                return notify_fail(ZHE "只能对战斗中的对手使用。\n");

        if (! objectp(weapon = me->query_temp("weapon")) ||
            (string)weapon->query("skill_type") != "sword")
                return notify_fail("你所使用的武器不对,难以施展" ZHE "。\n");

        if ((int)me->query_skill("damo-jian", 1) < 250)
                return notify_fail("你达摩剑法不够娴熟,难以施展" ZHE "。\n");

        if (me->query_skill_mapped("sword") != "damo-jian")
                return notify_fail("你没有激发达摩剑法,难以施展" ZHE "。\n");

        if ((int)me->query("max_neili") < 2000)
                return notify_fail("你的内力修为不够,难以施展" ZHE "。\n");

        if (me->query("neili") < 300)
                return notify_fail("你现在的真气不足,难以施展" ZHE "。\n");

        if (! living(target))
                return notify_fail("对方都已经这样了,用不着这么费力吧?\n");

        msg = HIR "$N" HIR "蓦地将" + weapon->name() +
              HIR "往前一送,顿时一道光华自剑上亮起,直逼$n"
              HIR "丹田而去。\n" NOR;

        ap = attack_power(me, "sword");
        dp = defense_power(target, "force");

        if (ap / 2 + random(ap) > dp)
        {
                damage = damage_power(me, "sword");
                msg += COMBAT_D->do_damage(me, target, WEAPON_ATTACK, damage, 55,
                                           (: final, me, target, damage );
                me->start_busy(2);
                me->add("neili", -200);
        } else
        {
                msg += CYN "可是$n" CYN "内力深厚,使得$P"
                       CYN "这一招没有起到任何作用。\n" NOR;
                me->start_busy(3);
                me->add("neili", -100);
        }
        message_combatd(msg, me, target);

        return 1;
}

string final(object me, object target, int damage)
{
        int lvl = me->query_skill("damo-jian", 1);

        target->affect_by("damo_zheyuan",
                ([ "level"    : lvl + random(lvl),
                   "id"       : me->query("id"),
                   "duration" : lvl / 50 + random(lvl / 20) ]));

        target->receive_damage("jing", damage / 3, me);
        target->receive_wound("jing", damage / 6, me);

        return HIR "突然$n" HIR "只觉丹田忽然一热,随即变得冷"
               "冰冰,不禁大惊失色。\n" NOR;
}
门派:少林派
发表于 2018-1-9 10:54:26 | 显示全部楼层
// This program is a part of NITAN MudLIB
// sanjue.c  达摩剑 达摩三绝剑

#include <ansi.h>

inherit F_SSERVER;

int perform(object me, object target)
{
        object weapon;
        string msg;

        if (userp(me) && ! me->query("can_perform/damo-jian/sanjue"))
                return notify_fail("你还没有受过高人指点,无法施展「达摩三绝剑」。\n");

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

        if (! target || ! me->is_fighting(target))
                return notify_fail("「达摩三绝剑」只能在战斗中对对手使用。\n");

        if (! objectp(weapon = me->query_temp("weapon")) ||
              (string)weapon->query("skill_type") != "sword")
                return notify_fail("你使用的武器不对。\n");

        if (me->query_dex() < 30)
                return notify_fail("你的身法不够,目前还不能使用这项绝技!\n");

        if (me->query_skill("force") < 200)
                return notify_fail("你的内功的修为不够,不能使用这一绝技!\n");

        if (me->query_skill("dodge") < 200)
                return notify_fail("你的轻功修为不够,不能使用达摩三绝剑!\n");

        if (me->query_skill("sword") < 200)
                return notify_fail("你的剑法修为不够,目前不能使用达摩三绝剑!\n");

        if (me->query("neili") < 150)
                return notify_fail("你的真气不够,不能使用达摩三绝剑!\n");

        if (me->query_skill_mapped("sword") != "damo-jian")
                return notify_fail("你没有激发达摩剑,不能使用达摩三绝剑!\n");

        msg = HIC "$N" HIC "使出达摩剑的绝技「达摩三绝剑」,身法陡然加快!\n" NOR;
        message_combatd(msg, me);

        me->add("neili", -75);

        // The first attack
        me->add_temp("apply/attack", 1000);
        COMBAT_D->do_attack(me, target, weapon, 0);

        // The second attack
        me->add_temp("apply/attack", 2000);
        COMBAT_D->do_attack(me, target, weapon, 0);

        // The third attack
        me->add_temp("apply/attack", 3000);
        COMBAT_D->do_attack(me, target, weapon, 0);

        // Back
        me->add_temp("apply/attack", -6000);

        me->start_busy(1 + random(2));

        return 1;
}
门派:少林派
 楼主| 发表于 2018-1-9 10:56:39 | 显示全部楼层
终结技啊 你这些都不行
至少要是16HIT以上的那种大招
门派:少林派
发表于 2018-1-10 15:05:35 | 显示全部楼层
这个文字功夫我觉得还是你最在行
门派:少林派
发表于 2018-1-10 15:06:07 | 显示全部楼层
duguo@tj 发表于 2018-1-9 10:40
需要什么样的pfm呢?刀?棍?鞭?

必须是刀啊,棍子不好玩                                            
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-19 09:35 , Processed in 0.055459 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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