MUD-武林MUD资料站

 找回密码
 注册

QQ登录

只需一步,快速开始

开启左侧

[策划中] 有谁见过其他mud中有某个武功可以模仿其他武功使用的情况?

[复制链接]
是开碧落 发表于 2012-7-6 16:18:07 | 显示全部楼层 |阅读模式

慕容的特色一直抽取的不特色, 现在想来, 可以 给斗转星移 弄个 模仿者 的 概念啊

比如说, 转世pfm, 都可以被模仿使用, 斗转可以jifa 所有输出类基本

但是被模仿的pfm只能发挥80%的效果 神马的

犯愁在代码不知道怎么写比较合适, 如果只局限于模仿转世pfm的话, 代码倒是比较好写一点.

有谁见过类似的么??

MUD - MUD游戏 - 文字MUD - 武林MUD - 长期、稳定、高速、互助、活跃、更新的武侠MUD站点,一起MUD吧!
段大 发表于 2012-7-9 18:09:26 | 显示全部楼层
慕容是应该加强,这样更有特色,现在慕容一个也没,简单点的就参考一下炎黄的就好了,我练炎黄时,慕容的参合指和斗转还是很厉害的。时间长了,具体的也说不出来。
shawnyu 发表于 2013-1-24 21:31:35 | 显示全部楼层
模擬吧  小無相功應該也要有這樣的功能阿   另外模擬的威力要看基本武功跟內功.招架跟心法等級掛鉤才行阿
zues 发表于 2013-6-19 10:09:58 | 显示全部楼层
妖神之争里面有一个神技--混沌无极,有类似的效果
2000_Watts 发表于 2013-6-21 17:07:57 | 显示全部楼层
我觉得可以这么写:

斗转星移,不是战斗中模拟,而是战斗中学习。

设计成一种开关类的技能:当开始斗转星移的时候,随着时间的流逝而减少精力。并记录对方enable 的 外功技能。学习的速度根据int而定。

对记录技能的数量进行限制,根据斗转星移等级,可以记录的招式数目变多。
当关闭斗转星移状态后,随着游戏时间的流逝,已记录的技能等级慢慢降低,直至消失。

斗转星移实际上是形似而神不似,所以不可以抄袭内功,需要内功激发的外功,抄来也不能用pfm。可以设定,当外功等级与对手相近时,降低对手相同的技能普招绝招命中率,触发比拼内力效果的概率。

比如对手用的太极拳,自己抄了太极拳,如果对方等级是500,你的抄袭也接近500,那么你对他太极拳的招式套路,是了然于胸的。那么他太极拳命中你的几率就应该很小,经常被化解,以至于触发busy或者拼内力状态。

我觉得special,等内在的东西都不应该被copy,斗转星移应该是一个可以主动开关的被动的防御型触发技能,触发busy或者拼内力。
 楼主| 是开碧落 发表于 2013-6-21 17:11:49 | 显示全部楼层
本帖最后由 是开碧落 于 2013-6-21 17:16 编辑
2000_Watts 发表于 2013-6-21 17:07
我觉得可以这么写:

斗转星移,不是战斗中模拟,而是战斗中学习。

copy肯定只是copy 有用的pfm

我的初步计划是 转世输出pfm中非4s的那几个可以被copy

不限制jifa force, 我们家里面没有非force武功的pfm 限制force激发的

copy pfm的威力 比原武功pfm 差点

要考虑到 实用性, 如果是一场战斗中现偷对方施展过的pfm 使用反击,,, 不那么实用, 也就是偶尔用的技能

2000_Watts 发表于 2013-6-21 17:16:52 | 显示全部楼层
如果是抄袭技能的话,我觉得可能特色体现不出来。

斗转星移在原著里面,是因为慕容家博学武艺,才能有的放矢。如果别人使出他之前不知道的武功,往往能出奇制胜。

更多的是扰乱,防御的定位。而且是只针对熟悉的技能的这种定位。
靓仔 发表于 2013-6-26 12:56:26 | 显示全部楼层
本帖最后由 靓仔 于 2013-6-26 13:14 编辑

可以设定为主动技能,
打斗的时候,使用,第一次必中,描述可以类似这样:只见XXX突然使出和你一模一样的招数,你心中突然大乱,不知如何应对,忙碌6秒,或者绝封6秒,同时受到2个人的武学修养差的比例伤害,最高30%
第二次使用,命中降低,描述可以是这样,XXX又使出你的绝招,你心中不像刚才这么慌张,但是也手忙脚乱了一翻。同样忙碌几秒,受到一点伤害
PVE可以使用50次,50次后无效果,
PVP可以使用10次,10次后无效果。
大概就是这样,具体可以再研究
其实30%不算很多,有的MUD里面斗转的yi可以一下打掉一半的血呢,2个yi搞定一个BOSS。
↗淡淡淡℡↘ 发表于 2013-8-20 22:27:23 | 显示全部楼层
我设计了这样一个技能,但是有错呵呵,希望大家能帮我看看怎么改
  1. //wuxiang-jian.c
  2. // Write By LSXK's System on 2013/8/20 星期二 18:34:02

  3. #include <ansi.h>
  4. inherit SKILL;

  5. mixed* actions;
  6. mapping user;
  7. mapping *action = ({

  8. ([
  9.      "action" : "$N使一招“相即无相”,手中$w随意挥舞,突然一剑朝$n刺去",
  10.      "force"  : 300,
  11.      "dodge"  : 0,
  12.      "parry"  : 50,
  13.      "lvl"    : 0,
  14.      "damage"    : 300,
  15.      "skill_name"  : "相即无相",
  16.      "damage_type" : "刺伤"
  17. ]),
  18. });

  19. int valid_enable(string usage) { return usage == "parry" || usage == "sword"; }

  20. int practice_skill(object me)
  21. {
  22.        if ((int)me->query("jingli") < 1000)
  23.            return notify_fail("你的体力太低了。\n");
  24.        if ((int)me->query("neili") < 1000)
  25.            return notify_fail("你的内力不够练习该技能。\n");
  26.        me->receive_damage("jingli", 100);
  27.        me->add("neili", -100);
  28.        return 1;
  29. }
  30. void add_actions(object me,mixed act){
  31.         int i;
  32.         string id = me->query("id");
  33.         if(!intp(me->query("wuxiang")) || me->query("wuxiang")==0){
  34.                 user[id] = sizeof(user)+1;
  35.                 me->set("wuxiang",1);
  36.         }
  37.         i = sizeof(actions[user[id]]);
  38.         actions[user[id]][i]= act;
  39. }
  40. string query_skill_name(int level)
  41. {
  42.    int i;
  43.    for(i = sizeof(action); i > 0; i--)
  44.        if(level >= action[i-1]["lvl"])
  45.            return action[i-1]["skill_name"];
  46. }

  47. mapping query_action(object me, object weapon)
  48. {
  49.    int i;
  50.    string id = me->query("id");
  51.    if(sizeof(actions[user[id]])==0){
  52.    for(i = sizeof(action); i > 0; i--)
  53.        if(me->query("level") >= action[i-1]["lvl"])
  54.                 return action[random(i)];
  55.    }
  56.    i = sizeof(actions[user[id]]);
  57.    return actions[user[id]][random(i)];
  58. }

  59. string perform_action_file(string action)
  60. {
  61.    return __DIR__"wuxiang-jian/" + action;
  62. }

复制代码
  1. #include <ansi.h>
  2. #include <combat.h>

  3. #define LEARN "「" MAG "无相之术" NOR "」"

  4. inherit F_SSERVER;

  5. int perform(object me, object target)
  6. {
  7.         string msg1;
  8.         string msg2;
  9.         mapping action;
  10.         string name;
  11.       if (! target || ! me->is_fighting(target))
  12.             return notify_fail(LEARN "只能对战斗中的对手使用。\n");
  13.         if(me->query_skill("wuxiang-jian",1)<200)
  14.                 return notify_fail("你的无相剑法运用的不是很娴熟,无法了解“无相”之意\n");
  15.         if(me->query_skill("martial-cognize",1)<200)
  16.                 return notify_fail("武学修养乃是武学之本,像你这般本末倒置,岂不怪哉?\n");
  17.         if(me->query("neili")<1000)
  18.                 return notify_fail("没有内力就是半个废人,废人就算习得高深的剑术又有何用?\n");
  19.         if(me->query_int()<40)
  20.                 return notify_fail("像你这般悟性奇低之人,又怎能习得高深剑术?\n");
  21.         if(me->query_con()<40)
  22.                 return notify_fail("根骨不够,纵使习得高深技巧,不得其运用之法,那不是等于无用?\n");
  23.         if(!objectp(me->query_temp("weapon")))
  24.             return notify_fail("你必须装备武器才能使用" LEARN "。\n");
  25.         if(!objectp(target->query_temp("weapon")))
  26.                 return notify_fail("你也真是有趣,你难道想用兵器学来拳脚功夫?\n");
  27.         msg1 = HIC "只见$N突然苦思冥想,对$n的攻击视而不见!\n"NOR
  28.                  HIR "$n见有机可乘,立即对$N发动了攻击!\n"NOR;
  29.         message_combatd(msg1, me, target);
  30.         COMBAT_D->do_attack(target,me,target->query_temp("weapon"),0);
  31.         msg2 = HIB "$N嘿嘿一笑,仿佛摸清了$n的来路,默默将其记载脑海中\n"
  32.                  HIR "$n被这一笑吓得毛骨悚然。\n"NOR;
  33.         message_combatd(msg2, me, target);
  34.         action = target->query_action();
  35.         me->set("wuxiang",1);
  36.         "/kungfu/skill/wuxiang-jian"->add_actions(me,action);
  37.         name=action->query("name");
  38.         tell_object(me,HIR"你成功习得对手的武功招式"+name+"!"NOR);
  39.         return 1;
  40. }
复制代码
靓仔 发表于 2014-10-19 08:03:17 | 显示全部楼层
// bishen.c 以彼之道还施彼身
// by tiantian@sj

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

inherit F_SSERVER;
int query_pfm(object me,object target);

mapping *tested=({
        ([ "skill":"anran-zhang","number":2,"perform1":"anran","perform2":"xiaohun" ]),
        ([ "skill":"banruo-zhang","number":2,"perform1":"qiankun","perform2":"yipai" ]),
        ([ "skill":"canglang-goufa","number":2,"perform1":"beauty","perform2":"hero" ]),
        ([ "skill":"chousui-zhang","number":5,"perform1":"yinhuo","perform2":"biyan",
        "perform3":"huoqiu","perform4":"huoqiang","perform5":"fushidu"]),
        ([ "skill":"cihang-bian","number":1,"perform1":"cibei" ]),
        ([ "skill":"cuixin-zhang","number":1,"perform1":"cuixin" ]),
        ([ "skill":"dagou-bang","number":3,"perform1":"chan","perform2":"wugou","perform3":"linglong" ]),
        ([ "skill":"dashou-yin","number":1,"perform1":"tianyin" ]),
        ([ "skill":"duanjia-jianfa","number":1,"perform1":"fenglei" ]),
        ([ "skill":"dugu-jiujian","number":3,"perform1":"po","perform2":"kuangfeng","perform3":"pozhang" ]),
        ([ "skill":"fanliangyi-dao","number":1,"perform1":"sanshenfeng" ]),
        ([ "skill":"fengmo-zhang","number":1,"perform1":"feizhang" ]),
//        ([ "skill":"hama-gong","number":3,"perform1":"hama","perform2":"nizhuan","perform3":"qudu" ]),
        ([ "skill":"hanbing-mianzhang","number":1,"perform1":"xixue" ]),
        ([ "skill":"hanbing-shenzhang","number":1,"perform1":"hanbing" ]),
        ([ "skill":"huagu-mianzhang","number":3,"perform1":"bujue","perform2":"huagu","perform3":"puhuo" ]),
        ([ "skill":"huashan-jianfa","number":4,"perform1":"jianmang","perform2":"jianzhang","perform3":"wudui","perform4":"lianhuan" ]),
//        ([ "skill":"huifeng-bian","number":1,"perform1":"huixuan" ]),
        ([ "skill":"huifeng-jian","number":3,"perform1":"mie","perform2":"jue","perform3":"liaoyuan" ]),
        ([ "skill":"hunyuan-zhang","number":1,"perform1":"wuji" ]),
//        ([ "skill":"huoyan-dao","number":2,"perform1":"daoqi","perform2":"fen" ]),
        ([ "skill":"jieshou-jiushi","number":1,"perform1":"foguang" ]),
        ([ "skill":"jingang-quan","number":2,"perform1":"fumo","perform2":"qixing" ]),
        ([ "skill":"jinshe-jianfa","number":1,"perform1":"kuangwu" ]),
        ([ "skill":"jiuyin-baiguzhua","number":1,"perform1":"jiuyin" ]),
//        ([ "skill":"jiuyin-shenzhang","number":2,"perform1":"shenzhang","perform2":"yinyang" ]),
//        ([ "skill":"jiuyin-shenzhua","number":1,"perform1":"sanjue" ]),
//        ([ "skill":"juehu-shou","number":1,"perform1":"juehu" ]),
//        ([ "skill":"kongming-quan","number":1,"perform1":"berserk" ]),
        ([ "skill":"kurong-changong","number":1,"perform1":"jiuchong"]),
        ([ "skill":"lanhua-shou","number":1,"perform1":"fuxue" ]),
        ([ "skill":"lietian-fu","number":1,"perform1":"lihun" ]),
        ([ "skill":"lieyan-dao","number":1,"perform1":"shenghuo" ]),
        ([ "skill":"lingshe-bianfa","number":2,"perform1":"chan","perform2":"sandou" ]),
        ([ "skill":"liuhe-daofa","number":1,"perform1":"sancai" ]),
        ([ "skill":"longzhua-gong","number":1,"perform1":"canyun" ]),
        ([ "skill":"luoying-zhang","number":3,"perform1":"bading","perform2":"fugu","perform3":"pikong" ]),
        ([ "skill":"nianhua-zhi","number":1,"perform1":"fuxue" ]),
//        ([ "skill":"pixie-jian","number":3,"perform1":"cimu","perform2":"feiying","perform3":"jue" ]),
        ([ "skill":"poyu-quan","number":1,"perform1":"leidong" ]),
        ([ "skill":"qianye-shou","number":1,"perform1":"qianshou" ]),
        ([ "skill":"qishang-quan","number":1,"perform1":"qishang" ]),
        ([ "skill":"quanzhen-jianfa","number":1,"perform1":"qixing" ]),
        ([ "skill":"ranmu-daofa","number":3,"perform1":"fenwo","perform2":"fentian","perform3":"shoudao" ]),
        ([ "skill":"riyue-bian","number":3,"perform1":"chanrao","perform2":"fumoquan","perform3":"riyue" ]),
//        ([ "skill":"riyue-lun","number":1,"perform1":"dazhuan" ]),
        ([ "skill":"ruying-suixingtui","number":1,"perform1":"ruying" ]),
        ([ "skill":"sanhua-zhang","number":1,"perform1":"sanhua" ]),
        ([ "skill":"shenghuo-lingfa","number":3,"perform1":"duo","perform2":"ji","perform3":"xinmo" ]),
//        ([ "skill":"shenghuo-lingfa","number":4,"perform1":"duo","perform2":"ji","perform3":"tisha","perform4":"xinmo" ]),
//        ([ "skill":"shenlong-tuifa","number":1,"perform1":"zhuiming" ]),
        ([ "skill":"songshan-jian","number":3,"perform1":"feiwu","perform2":"leiting","perform3":"longxiang" ]),
        ([ "skill":"songyang-bian","number":1,"perform1":"luan" ]),
        ([ "skill":"songyang-shou","number":1,"perform1":"yinyang" ]),
//        ([ "skill":"taiji-jian","number":4,"perform1":"chan","perform2":"lian","perform3":"raozhi","perform4":"sanhuan" ]),
//        ([ "skill":"taiji-quan","number":6,"perform1":"dongjing","perform2":"luanhuan",
//        "perform3":"ji","perform4":"zhen","perform5":"yinyang","perform6":"zhannian"]),
//        ([ "skill":"tanzhi-shentong","number":3,"perform1":"qiankun","perform2":"huayu","perform3":"shentong" ]),
//        ([ "skill":"tiezhang-zhangfa","number":2,"perform1":"tianlei","perform2":"zhangdao" ]),
//        ([ "skill":"weituo-chu","number":2,"perform1":"leidong","perform2":"chaodu" ]),
        ([ "skill":"xiangfu-lun","number":1,"perform1":"wushuai" ]),
//        ([ "skill":"xianglong-zhang","number":2,"perform1":"paiyun","perform2":"xiao" ]),
        ([ "skill":"xuanfeng-tui","number":1,"perform1":"kuangfeng" ]),
//        ([ "skill":"xuantie-jianfa","number":2,"perform1":"haichao","perform2":"wujian" ]),
//        ([ "skill":"xuedao-jing","number":2,"perform1":"jixue","perform2":"shendao" ]),
//        ([ "skill":"yanxing-daofa","number":2,"perform1":"feiyan","perform2":"huanying" ]),
        ([ "skill":"yingou-bifa","number":3,"perform1":"caoshu","perform2":"kaishu","perform3":"shigu" ]),
//        ([ "skill":"yinlong-bian","number":2,"perform1":"feilong","perform2":"chanrao" ]),
//        ([ "skill":"yinsuo-jinling","number":1,"perform1":"yueyin" ]),
//        ([ "skill":"yiyang-zhi","number":1,"perform1":"yizhisanmai" ]),
//        ([ "skill":"yizhi-chan","number":2,"perform1":"wofo","perform2":"qiankun" ]),
//        ([ "skill":"yunu-jianfa","number":1,"perform1":"suxin" ]),
//        ([ "skill":"yuxiao-jian","number":2,"perform1":"feiying","perform2":"qimen" ]),
//        ([ "skill":"zhenshan-mianzhang","number":1,"perform1":"bingdi" ]),
//        ([ "skill":"zhuihun-gou","number":1,"perform1":"luanpifeng" ]),
//        ([ "skill":"zui-gun","number":1,"perform1":"zuijiu" ]),
        });

int perform(object me, object target)
{
        int i,j;
        object weapon,weapon2;
        string perform,perform_file;
        string skill;

        if( !target )
                target = offensive_target(me);
        if( !target || !me->is_fighting(target) )
                return notify_fail("以彼之道还施彼身只能在战斗中使用!。\n");               
        if(me->query_temp("bishen_target"))
                return notify_fail("你正在使用以彼之道还施彼身。\n");
        if(me->query_temp("douzhuan_target")||me->query_temp("douzhuan_target"))
                return notify_fail("你正在使用斗转星移。\n");

        weapon=me->query_temp("weapon");
        weapon2=target->query_temp("weapon");
        if( !(!weapon&&!weapon2)&& ((weapon&&!weapon2)
                || (!weapon&&weapon2)
                || weapon->query("skill_type")!=weapon2->query("skill_type") ) )
                return notify_fail("你和对方的兵器不同,不能使用以彼之道还施彼身。\n");

        if( target->query("family/family_name")=="姑苏慕容"
                || target->query_skill("douzhuan-xingyi",1)>0
                || target->query_temp("bishen_target") )
                return notify_fail("你不能向对方使用以彼之道还施彼身。\n");

    if( (int)me->query("max_neili") < 2500 )
                return notify_fail("你的内力还不够高!\n");
        if( (int)me->query("neili") < 2500 )
                return notify_fail("你当前的内力不够!\n");
        if(me->query_skill("douzhuan-xingyi",1)<180 )
                return notify_fail("你的斗转星移不够熟练,还不能以彼之道还施彼身。\n");
        if( me->query("combat_exp")<target->query("combat_exp")/2
                || me->query("max_neili")<target->query("max_neili")/4
                || me->query("neili")<target->query("neili")/2 )
                return notify_fail("你的武功修为跟对方相差太远,强行运用以彼之道还施彼身反而会伤了自己。\n");

        i=query_pfm(me,target);
        if( i< 0 )
        {
                return 1;
        }
        skill=tested[i]["skill"];
        j=1+random(tested[i]["number"]);
        if(!me->query("env/"+skill))
                perform=tested[i]["perform"+sprintf("%d",j)];
        else
                perform=me->query("env/"+skill);

        if(!perform)
        {
                tell_object(me,"测试列表在"+skill+"出错,请通知巫师修改。\n");
                return 1;
        }

        if( file_size(SKILL_D(skill)+"/"+perform+".c")<1 )
        {
                tell_object(me,"对方当前使用的武功的外功"+perform+"已经删除,请通知巫师修改。\n");
                return 1;
        }

        perform_file=SKILL_D(skill)+"/"+perform+".c";
        me->set_temp("bishen_target",target);

//        message_vision(HIG"$N运用姑苏慕容斗转星移绝技,想要使出"+target->query("name")
//                +"的成名绝技。\n"NOR,me);

        call_out("remove_effect",1,me,target,skill,perform);
        if( skill=="canglang-goufa" )
        {
                me->set_temp("master",me->query("family/master_id"));
                me->set("family/master_id","hong antong");
        }
        else if( skill=="cihang-bian" )
        {
                me->set_temp("shen",me->query("shen"));
                me->set("shen",1000000);
        }
        else if(skill=="taiji-quan")
                me->set_temp("tjq/太极",1);
        else if(skill=="taiji-jian" && perform=="raozhi")
                me->set("wd/raozhi",1);
        else if( skill=="anran-zhang" && perform=="anran" )
                target->add_temp("anran",2);
        else if( skill=="ruying-suixingtui" && perform=="ruying" )
                target->add_temp("sl_rysxt",5);
        else if( skill=="xuanfeng-tui" && perform=="kuangfeng" )
                me->set("thd/perform",4);
        else if( skill=="xianglong-zhang" && perform=="kanglong")
                me->set("xlz/hang",1);
        return (int)call_other( perform_file, "perform", me, target);
}

int remove_effect(object me,object target,string skill,string perform)
{
        if( !target || !me->is_fighting(target) )
        {
                me->delete_temp("bishen_target");
                me->delete_temp("tjq/太极");
                me->delete("wd/raozhi");
                me->delete("thd/perform");
                me->delete("xlz/hang");
                return 0;
        }
        else if ( skill=="anran-zhang" && perform=="anran")
        {
                target->delete_temp("anran");
                me->delete_temp("bishen_target");
                return 0;
        }
        else if ( skill=="canglang-goufa")
        {
                me->set("family/master_id",me->query_temp("master"));
                me->delete_temp("master");
                me->delete_temp("bishen_target");
                return 0;
        }
        else if ( skill=="cihang-bian")
        {
                me->set("shen",me->query_temp("shen"));
                me->delete_temp("shen");
                me->delete_temp("bishen_target");
                return 0;
        }
        else if ( skill=="ruying-suixingtui" && perform=="ruying")
        {
                target->delete_temp("sl_rysxt");
                me->delete_temp("bishen_target");
                return 0;
        }
        else if( ( skill=="jingang-quan" && perform=="fumo" && me->query_temp("fumo") )
                || ( skill=="banruo-zhang" && perform=="qiankun" && me->query_temp("sl/xiouliqiankun") )
                || ( skill=="huashan-jianfa" && perform=="wudui" && me->query_temp("wudui") )
                || ( skill=="kurong-changong" && perform=="jiuchong" && me->query_temp("pf_jiuchong") )
                || ( skill=="lingshe-bianfa" && perform=="chan" && me->query_temp("lingshe/chan") )
                || ( skill=="poyu-quan" && perform=="leidong" && me->query_temp("leidong") )
                || ( skill=="riyue-bian" && perform=="chanrao" && me->query_temp("sl/chanrao") )
                || ( skill=="shenghuo-lingfa" && perform=="ji" && me->query_temp("shlf_ji") )
                || ( skill=="songyang-bian" && perform=="luan" && me->query_temp("ss_luan") )
                || ( skill=="xianglong-zhang" && perform=="xiao" && me->query_temp("xlz/xiao") )
                || ( skill=="anran-zhang" && perform=="xiaohun" && me->query_temp("xiaohun") )
                || ( skill=="huashan-jianfa" && perform=="wudui" && me->query_temp("wudui") )
                || ( skill=="taiji-jian" && perform=="chan" && me->query_temp("tjj/chan") )
                || ( skill=="taiji-quan" && perform=="zhannian" && me->query_temp("tjq/zhannian") )
                || ( skill=="suibo-zhuliu" && perform=="wuzhuan" && me->query_temp("thd/is_fast") )
                )
        {
                call_out("remove_effect",1,me,target,skill,perform);
                return 1;
        }
        else if( !me->is_perform() )
        {
                me->delete_temp("tjq/太极");
                me->delete("wd/raozhi");
                me->delete_temp("bishen_target");
                me->delete("thd/perform");
                me->delete("xlz/hang");
                return 0;
        }
        else
                call_out("remove_effect",1,me,target,skill,perform);

        return 1;
}

int query_pfm(object me, object target)
{
        object weapon=target->query_temp("weapon");
        string skill,perform;
        int i;
        string *base_skill=({ "cuff","strike","hand","leg","claw","finger" });

        if(weapon)
        {
                skill=target->query_skill_mapped(weapon->query("skill_type"));
        }
        else
        {
                for(i=0;i<6;i++)
                        if( (skill=target->query_skill_prepared(base_skill[i]) ) )
                                break;
        }

        if( !skill
                || file_size(SKILL_D(skill)+".c") < 1 )
        {
                tell_object(me,"对方当前使用的武功中没有外功,你无法以彼之道还施彼身。\n");
                return -1;
        }

        perform=SKILL_D(skill)->perform_action_file("");

        if(!stringp(perform)
                || sizeof( get_dir(perform) ) == 0 )
        {
                tell_object(me,"对方当前使用的武功中没有任何外功,你无法以彼之道还施彼身。\n");
                return -1;
        }

        for( i=0;i<sizeof(tested);i++)
                if( tested[i]["skill"]== skill )
                        break;

        if(i==sizeof(tested))
        {
                tell_object(me,"对方当前使用的武功中的外功还没有经过测试,你无法以彼之道还施彼身。\n");
                return -1;
        }

        return i;
}
靓仔 发表于 2014-10-19 08:03:51 | 显示全部楼层
// skill.h for /kungfu/skill/douzhuan-xingyi/douzhuanxingyi.c

mapping *perform = ({

// ALL MemPai got 2 symbolically skill ( weapon & unarmed ) here. should modify later
// hs,xx,sl,wd,gb,mj,gm,dl,em,tz,tls,xs,th

// HuaShan

([      "name"        :  "huashan-sanshengfeng",
        "describe"    :  "仰天一声清啸,运足内力使出「华岳三神峰」,雷霆般地击出两拳一刀!",
        "menpai"      :  "华山派",
        "skill_type"  :  "weapon", // weapon||unarmed
        "weapon_type" :  "sword", // sword,blade,whip...etc
        "unarmed_type":  "none",  // strike,hand,finger,etc
        "perform_type":  "1",
]),

([      "name"        :  "huashan-sanshengfeng",
        "describe"    :  "使出劈石破玉拳的绝学雷动九天,顿时天空电闪雷鸣!",
        "menpai"      :  "华山派",
        "skill_type"  :  "unarmed",
        "weapon_type" :  "none",
        "unarmed_type":  "cuff",
        "perform_type":  "3",
]),

// XingXiu

([      "name"        :  "pixie-jian",
        "describe"    :  "一声阴笑,忽若一团红云般欺身而近,手中细针疾指双目!",
        "menpai"      :  "星宿派",
        "skill_type"  :  "weapon",
        "weapon_type" :  "sword",
        "unarmed_type":  "none",
        "perform_type":  "2",
]),

([      "name"        :  "chousui-zhang",
        "describe"    :  "面露凝重之色,双手色呈青紫,原本尖锐的掌风竟变得悄无声息。",
        "menpai"      :  "星宿派",
        "skill_type"  :  "unarmed",
        "weapon_type" :  "none",
        "unarmed_type":  "strike",
        "perform_type":  "5",
]),

// ShaoLin

([      "name"        :  "jinggang-quan",
        "describe"    :  "使出日月鞭法「缠绕」诀,连挥数鞭,散下满天鞭网,企图把的全身缠绕起来。",
        "menpai"      :  "少林派",
        "skill_type"  :  "weapon",
        "weapon_type" :  "whip",
        "unarmed_type":  "none",
        "perform_type":  "4",
]),

([      "name"        :  "jinggang-quan",
        "describe"    :  "突然全身骨骼作响,运起混元一气功,全身好象有使不完的力量一样!",
        "menpai"      :  "少林派",
        "skill_type"  :  "unarmed",
        "weapon_type" :  "none",
        "unarmed_type":  "unarmed",
        "perform_type":  "3",
]),

// WuDang

([      "name"        :  "taiji-jian",
        "describe"    :  "使出太极剑法「缠」字诀,连递数个虚招企图扰乱对方的攻势。",
        "menpai"      :  "武当派",
        "skill_type"  :  "weapon",
        "weapon_type" :  "none",
        "unarmed_type":  "none",
        "perform_type":  "4",
]),

([      "name"        :  "taiji-quan",
        "describe"    :  "一招一式节节贯串,如长江大河,「粘」字绝一经使出,一个圆圈跟着一个圆圈,大圈、小圈、平圈、立圈、正圈、斜圈,一个个太极圆圈发出,连绵不断,滔滔不绝",
        "menpai"      :  "武当派",
        "skill_type"  :  "unarmed",
        "weapon_type" :  "none",
        "unarmed_type":  "cuff",
        "perform_type":  "4",
]),

// GaiBang

([      "name"        :  "dagou-bang",
        "describe"    :  "使出打狗棒法「缠字」诀,只见一团青影铺天盖地罩了过去 ",
        "menpai"      :  "丐帮",
        "skill_type"  :  "weapon",
        "weapon_type" :  "stick",
        "unarmed_type":  "none",
        "perform_type":  "4",
]),

([      "name"        :  "xianglong-zhang",
        "describe"    :  "一声断喝,双掌齐出,挟起满天飞沙!使的正是萧峰的得意功夫「排云双掌」!",
        "menpai"      :  "丐帮",
        "skill_type"  :  "unarmed",
        "weapon_type" :  "none",
        "unarmed_type":  "strike",
        "perform_type":  "5",
]),

// MinJiao

([      "name"        :  "yinfeng-dao",
        "describe"    :  "悄悄使出阴风刀,运起一股无形无质的阴寒之气,直插要穴而去!",
        "menpai"      :  "明教",
        "skill_type"  :  "weapon",
        "weapon_type" :  "blade",
        "unarmed_type":  "none",
        "perform_type":  "5",
]),

([      "name"        :  "hanbing-mianzhang",
        "describe"    :  "突然如同一只吸血青蝠,欺身而去,张嘴便向咽喉咬去。",
        "menpai"      :  "明教",
        "skill_type"  :  "unarmed",
        "weapon_type" :  "none",
        "unarmed_type":  "bite",
        "perform_type":  "5",
]),

// GuMu

([      "name"        :  "xuantie-jianfa",
        "describe"    :  "大吼一声,手持玄铁剑挟巨浪潮涌之势,从轻而响,从响而轻,忽寂然无声,忽轰轰之声,反复七次,席卷而去。",
        "menpai"      :  "古墓派",
        "skill_type"  :  "weapon",
        "weapon_type" :  "sword",
        "unarmed_type":  "none",
        "perform_type":  "1",
]),

([      "name"        :  "anran-zhang",
        "describe"    :  "面呈凄苦之色,心下万念俱灰,没精打采的挥袖卷出,倒拍出一掌",
        "menpai"      :  "古墓派",
        "skill_type"  :  "unarmed",
        "weapon_type" :  "none",
        "unarmed_type":  "strike",
        "perform_type":  "5",
]),

// DaLi

([      "name"        :  "duanjia-jianfa",
        "describe"    :  "长笑一声,剑交左手,蹂身而上,施展「风雷四击」绝技,试图快速击伤对手。",
        "menpai"      :  "大理国",
        "skill_type"  :  "weapon",
        "weapon_type" :  "sword",
        "unarmed_type":  "none",
        "perform_type":  "1",
]),

([      "name"        :  "yiyang-zhi",
        "describe"    :  "凝气于指,一式「阳关三叠」反手缓缓点出,纯阳指力聚如凝束。",
        "menpai"      :  "大理国",
        "skill_type"  :  "unarmed",
        "weapon_type" :  "none",
        "unarmed_type":  "finger",
        "perform_type":  "5",
]),

// Emei

([      "name"        :  "huifeng-jian",
        "describe"    :  "清啸一声,身形腾空丈许,将峨嵋绝技「灭剑」心法融入回风拂柳剑招之中,手中软剑挽起无数剑花",
        "menpai"      :  "峨嵋派",
        "skill_type"  :  "weapon",
        "weapon_type" :  "sword",
        "unarmed_type":  "none",
        "perform_type":  "3",
]),

([      "name"        :  "jieshou-jiushi",
        "describe"    :  "面显庄严,运转体内临济十二庄,提一口真气,飘身而上,半空中手掌交错,一刹那之间,一股内劲狭带着热浪,如风如火,似雷似电般击出",
        "menpai"      :  "峨嵋派",
        "skill_type"  :  "unarmed",
        "weapon_type" :  "none",
        "unarmed_type":  "hand",
        "perform_type":  "5",
]),

// TianLongSi

([      "name"        :  "duanjia-jianfa",
        "describe"    :  "长笑一声,剑交左手,蹂身而上,施展「风雷四击」绝技,试图快速击伤对手。",
        "menpai"      :  "天龙寺",
        "skill_type"  :  "weapon",
        "weapon_type" :  "sword",
        "unarmed_type":  "none",
        "perform_type":  "1",
]),

([      "name"        :  "yiyang-zhi",
        "describe"    :  "凝气于指,一式「阳关三叠」反手缓缓点出,纯阳指力聚如凝束。",
        "menpai"      :  "天龙寺",
        "skill_type"  :  "unarmed",
        "weapon_type" :  "none",
        "unarmed_type":  "finger",
        "perform_type":  "5",
]),

// XueShan
/*
([      "name"        :  "",
        "describe"    :  "",
        "menpai"      :  "大轮寺",
        "skill_type"  :  "weapon",
        "weapon_type" :  "",
        "unarmed_type":  "none",
        "perform_type":  "",
]),

([      "name"        :  "",
        "describe"    :  "",
        "menpai"      :  "大轮寺",
        "skill_type"  :  "unarmed",
        "weapon_type" :  "none",
        "unarmed_type":  "",
        "perform_type":  "",
]),

// TieZhang

([      "name"        :  "",
        "describe"    :  "",
        "menpai"      :  "",
        "skill_type"  :  "weapon",
        "weapon_type" :  "",
        "unarmed_type":  "none",
        "perform_type":  "",
]),

([      "name"        :  "",
        "describe"    :  "",
        "menpai"      :  "",
        "skill_type"  :  "unarmed",
        "weapon_type" :  "none",
        "unarmed_type":  "",
        "perform_type":  "",
]),
*/
// TaoHua

([      "name"        :  "yuxiao-jian",
        "describe"    :  "将箫凑到嘴边,吹得两下,从箫筒里突然射出一道青光,疾飞而去。",
        "menpai"      :  "桃花岛",
        "skill_type"  :  "weapon",
        "weapon_type" :  "xiao",
        "unarmed_type":  "none",
        "perform_type":  "5",
]),

([      "name"        :  "luoying-zhang",
        "describe"    :  "双掌竖起,掌缘便似剑锋,竟然发出丝丝的剑气,从左右两边分斫合击",
        "menpai"      :  "桃花岛",
        "skill_type"  :  "unarmed",
        "weapon_type" :  "none",
        "unarmed_type":  "strike",
        "perform_type":  "5",
]),
// Shen long dao
([      "name"        :  "canglang-goufa",
        "describe"    :  "乘你稍稍走神之机,拼尽全力使出洪教主不传之绝技--「英雄三招」",
        "menpai"      :  "神龙教",
        "skill_type"  :  "weapon",
        "weapon_type" :  "hook",
        "unarmed_type":  "leg",
        "perform_type":  "1",
]),
([      "name"        :  "huagu-mianzhang",
        "describe"    :  "忽然猛一吸气,双掌一立,向你轻轻地拍出!",
        "menpai"      :  "神龙教",
        "skill_type"  :  "unarmed",
        "weapon_type" :  "none",
        "unarmed_type":  "strike",
        "perform_type":  "1",
]),

// Other        

([      "name"        :  "",
        "describe"    :  "",
        "menpai"      :  "",
        "skill_type"  :  "",
        "weapon_type" :  "",
        "unarmed_type":  "",
        "perform_type":  "",
]),

});
jcl 发表于 2014-10-19 09:47:10 | 显示全部楼层
本帖最后由 jcl 于 2014-10-19 10:04 编辑

上面那些都太复杂了,目前的慕容没人去,主要是反伤概率太低,反伤的伤害也太低,再加上三防搭配不是很好。。。
其实只要在目前的反伤的基础上稍微做些调整就很有特色了。
  1. 慕容世家【斗转星移之还施彼身】
  2. 使用方式:被动常驻
  3. 关 键 词:对方施展绝招时概率被反伤, 直接伤害2份外功伤害, 并打断己方忙乱.
  4. 可被无视攻击状态减少反伤概率. 双方同等级无附加状态反伤概率为1/6
  5. 非当前所在门派:无法使用
复制代码
反伤概率可以略微在提高一点。
反伤的伤害可以修改为反伤全部的外功伤害(不能反伤内功伤害)。

如此慕容的parry就足够吸引人了,但是内防是问题,因为4S门派都没有内防,只能用明玉功或者太玄功。而dodge也基本上只能用庄子舞(目前也有不少用庄子舞的搭配 ,勉强接受)。
所以要想提升慕容家的人气,还有不少路要走。
ztfire 发表于 2016-5-25 00:42:53 | 显示全部楼层
本帖最后由 ztfire 于 2016-5-25 00:51 编辑

虽然是坟贴,但是既然阿姨没有封回复,那我就说一说,首先,让慕容模仿本身就是错的~~~慕容之所以能够以彼之道还施彼身,是因为他们家族喜欢偷学其他门派的武功,他们的还施水阁收录了各门各派的武学典籍,慕容家族的人从小就参研各派武学并寻找各派武学的破绽,(所以王语嫣对各派武学的破绽了如指掌),但是他们却无法破解各派隐秘武学,所以慕容博才要到少林藏经阁去偷看少林秘籍,所以慕容复才不会还萧峰的降龙十八掌,因为他们无法学到高级门派的秘籍,所以他们无法还施彼身~
其实要加强慕容,只要让慕容的武学多出一条:施展出各种门派的武学招式,让敌人眼花缭乱分辨不出是何门何派的武功路数(慕容复曾化妆成李延忠与段誉对打),然后让敌人busy多少秒就好,反伤什么的都不忠实原著。

Archiver|武林MUD资料站 ( 鲁ICP备17038480号 本站关键词:mud 武林mud mud游戏 文字mud

GMT+8, 2019-11-21 18:31

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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