找回密码
 注册
搜索
查看: 2072|回复: 8

WD可开发skill参考

[复制链接]
门派:不明
发表于 2008-5-28 20:31:44 | 显示全部楼层 |阅读模式
WD可开发的新skill,以下内容仅供wiz们参考
门派:不明
 楼主| 发表于 2008-5-28 20:33:38 | 显示全部楼层
神门十三剑 -

武当派武学,专攻手腕神门穴,殷梨亭对抗五凤刀时使。武当派祖师张三丰所创。共有一十三记招数,每记招式各不相同,但所刺之处,全是敌人手腕的神门穴。神门穴在手掌后瑞骨之端,敌人中剑后,手掌便再也使不出半点力道。武当六侠殷梨亭用此剑轻而易举地使三江帮十余人撤下腕中之剑。


按照这样来说,也可以做成连续的物理攻击。

下面是其他地方看到的code,也仅供参考。
门派:不明
 楼主| 发表于 2008-5-28 20:34:02 | 显示全部楼层
  1. #include <ansi.h>
  2. inherit F_SSERVER;

  3. void remove_effect(object me, int damage, int attack, int level,int busytime);
  4. void check2(object me, int o_att, int o_dam, int o_spd);

  5. int perform(object me, object target)
  6. {
  7.         object weapon;
  8.         int busytime,larger;
  9.         int acc_damage = 0;
  10.         int acc_attack = 0;
  11.         int i, level, attack, damage, o_att, o_dam, o_spd;

  12.         weapon = me->query_temp("weapon");

  13.         if( !objectp(weapon) || weapon->query("skill_type") != "sword" )
  14.                 weapon = me->query_temp("secondary_weapon");       

  15.         if( !target && me->is_fighting() ) target = offensive_target(me);

  16.         if( me->query_skill("taiji-jian", 1) < 150 )
  17.                 return notify_fail("你的太极剑法修为还不够,还未领悟「神门十三剑」!\n");

  18.         if( me->query_skill("yinyun-ziqi", 1) < 150 )
  19.                 return notify_fail("你的内功修为火候未到,施展「神门十三剑」只会伤及自身!\n");

  20.         if( !target || !target->is_character() || !me->is_fighting(target) )
  21.                 return notify_fail("「神门十三剑」只能对战斗中的对手使用。\n");

  22.         if( !objectp(weapon) || weapon->query("skill_type") != "sword" )
  23.                 return notify_fail("你手中无剑,怎能运用「神门十三剑」?!\n");

  24.         if( me->query_skill_mapped("force") != "yinyun-ziqi" )
  25.                 return notify_fail("你所用的内功与「神门十三剑」心法相悖!\n");

  26.         level = me->query_skill("sword") / 30;
  27.         busytime = 1+level/4+random(level/3);

  28.         if( me->query("max_neili") <= level*20 )
  29.                 return notify_fail("你的内力修为不足,劲力不足以施展「神门十三剑」!\n");

  30.         if( me->query("neili") <= level*20 )
  31.                 return notify_fail("你的内力不够,劲力不足以施展「神门十三剑」!\n");

  32.         if( me->query("jingli") <= level*20 )
  33.                 return notify_fail("你的精力有限,不足以施展「神门十三剑」!\n");

  34.         if(me->is_busy())
  35.                 return notify_fail("你正忙着呢,没办法施展「神门十三剑」心法!\n");
  36.         o_att = me->query_temp("apply/attack");
  37.         o_dam = me->query_temp("apply/damage");
  38.         o_spd = me->query_temp("apply/speed");


  39.         damage = ( me->query_skill("force") + me->query("neili")/20 + me->query("max_neili")/5 )/20;
  40.         attack = ( me->query_skill("dodge") + me->query("jingli")/20 + me->query("max_jingli")/5 )/20
  41.                  + me->query_dex()/5 + weapon->query("apply/damage")/2;

  42.         me->add_temp("apply/speed", level*5);
  43.         me->add_temp("apply/damage", damage);
  44.         me->add_temp("apply/attack", attack);
  45.        
  46.         if (busytime <= 4) {
  47.                 larger = 4;
  48.                 } else {larger = busytime;}
  49.         me->start_call_out((:call_other, __FILE__, "check2", me, o_att, o_dam, o_spd:),larger);
  50.         /*if( wizardp(me) ) tell_object( me,
  51.                 sprintf("old damage: %d, old attack: %d, old speed: %d \n",o_att,o_dam,o_spd));*/
  52.        
  53.         me->add_temp("perform/juejian", 1);       

  54.         for( i=0; i < level; i++ )
  55.         {
  56.                 if( wizardp(me) ) tell_object( me,
  57.                 sprintf("damage: %d, attack: %d, speed: %d\n",
  58.                 me->query_temp("apply/damage"), me->query_temp("apply/attack"),
  59.                 me->query_temp("apply/speed")));

  60.                 COMBAT_D->do_attack(me, target, weapon);

  61.                 me->add_temp("apply/damage", -damage/level);
  62.                 me->add_temp("apply/attack", -attack/level);
  63.                 if ((int)me->query_temp("apply/damage") < 0)
  64.                 {
  65.                         me->set_temp("apply/damage",0);
  66.                 }
  67.                 if ((int)me->query_temp("apply/attack") < 0)
  68.                 {
  69.                         me->set_temp("apply/attack",0);
  70.                 }
  71.                 acc_damage += damage/level;
  72.                 acc_attack += attack/level;
  73.         }

  74.         message_vision(HIY"\n这几下交手,当真是显示出太极剑的威力,迅捷无伦,一刹那间$N连攻了"+
  75.                 chinese_number(level) +"下快招,招招是致命的凌厉毒招!!\n"NOR, me);

  76.         me->add("neili", -level*70);
  77.         me->add("jingli", -level*50);
  78.         remove_effect(me,(damage-acc_damage),(attack-acc_attack),level,busytime);

  79.         return 1;
  80. }


  81. void remove_effect(object me, int damage, int attack, int level,int busytime)
  82. {
  83.         if (!me) return;
  84.                 me->add_temp("apply/attack",-attack);
  85.         me->add_temp("apply/damage",-damage);
  86.         me->add_temp("apply/speed", -level*5);
  87.         /*if( wizardp(me) ) tell_object( me,
  88.                 sprintf("after fight,damage: %d, attack: %d, speed: %d\n",damage,attack,level));*/
  89.                me->delete_temp("perform/juejian");
  90.                me->start_busy(busytime);
  91. }


  92. void check2(object me, int o_att, int o_dam, int o_spd)
  93. {
  94.        
  95.         /*if( wizardp(me) ) tell_object( me,
  96.                 sprintf("begin to check apply stuff,now.\n"));*/
  97.         if((int)me->query_temp("apply/attack",1) != o_att)
  98.         {
  99.                 me->set_temp("apply/attack",o_att);
  100.         }
  101.         if((int)me->query_temp("apply/damage",1) != o_dam)
  102.         {
  103.                 me->set_temp("apply/damage",o_dam);
  104.         }
  105.         if((int)me->query_temp("apply/speed", 1) != o_spd)
  106.         {
  107.                 me->set_temp("apply/speed", o_spd);
  108.         }


  109. }
复制代码
门派:不明
 楼主| 发表于 2008-5-28 20:37:56 | 显示全部楼层
另外一个其实也是名气比较大的 - 两仪剑法

武当派武学,武当二高手与令狐冲过招时所使。武当派两位高手积数十年之力所创,剑法中有阴有阳,亦刚亦柔。出招时,一人迟缓,一人迅捷,姿势虽不雅观,但剑招古朴浑厚,破绽之处实所罕见。斗到紧要处,一人长剑大开大阖、势道雄浑;一人疾趋疾退、剑尖上幻出点点寒星。清虚、成高两位道长曾以此剑法刁难令狐冲,因不能阴阳混而为一,还是败在令狐冲的独孤九剑之下。

具体如何开发还有待考证。
门派:不明
发表于 2008-5-29 08:13:49 | 显示全部楼层
两仪剑法在昆仑派里已经有了
门派:不明
发表于 2008-5-29 08:14:46 | 显示全部楼层
还不如加强tjj
门派:不明
发表于 2008-5-29 08:24:11 | 显示全部楼层
目前的tjq很好玩,不知道master会改成啥样。。。
门派:不明
 楼主| 发表于 2008-5-29 08:33:45 | 显示全部楼层
十三剑就是太极剑的pfm之一。
门派:不明
发表于 2008-5-29 15:17:09 | 显示全部楼层
原帖由 ilovemin@zy 于 2008-5-29 08:14 发表
还不如加强tjj

同意
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-18 08:24 , Processed in 0.024327 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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