资料内容
题: | 江湖武功评析(1)--辅助武功篇 |
内容: | 大家最感兴趣的武功是什么?在各自门派武功,高内学完了之后如何在提高自己的攻防数值成为了历代玩家所追求的目标,现在我就来分析一下江湖中的几种辅助武功. 1.江湖最常用的辅助武功,蛇岛奇功的一唱,可以唱出一倍攻防,只要不下线就不会消失,是一种老少皆宜的辅助武功.要求武功等级:60附源代码如下:(所有源代码均出自侠客行100) #include inherit F_SSERVER; int perform(object me, object target) { int skill; string msg; if( !target ) target = offensive_target(me); if( !target || !target->is_character() || !me->is_fighting(target) ) return notify_fail("唱仙法只能在战斗中使用。\n"); if( (int)me->query_skill("shedao-qigong", 1) < 60 ) return notify_fail("你的蛇岛奇功不够娴熟,不会使用唱仙法。\n"); if( (int)me->query("neili") < 300 ) return notify_fail("你已经唱得精疲力竭,内力不够了。\n"); if( (int)me->query_temp("chang") == 50 ) return notify_fail("你已经唱得太久了,不能再唱了。\n"); skill = me->query_skill("force"); me->add("neili", -200); message_combatd( HIR "只听$N口中念念有词,顷刻之间武功大进!\n" NOR, me); me->add_temp("apply/attack", 1); me->add_temp("apply/dodge", 1); me->add_temp("apply/defense", 1); me->add_temp("chang", 1); return 1; } 2.江湖最强的辅助武功,劈石破玉拳之雷动九天,对你的力量和敏捷有翻倍的功效,翻倍的多少和时间的长短取决于你的劈石破玉拳等级+你的基本拳法的等级.(这就是新新手为什么一直要300基本拳的原因)要求等级:劈石破玉拳等级+你的基本拳法的等级=135 // leidong 雷动九天 // by winder 98.12 #include inherit F_CLEAN_UP; void remove_effect(object me, int amount, int amount1); int perform(object me) { int skill, count, count1; if( (int)me->query_temp("leidong") ) return notify_fail("你已经在运功中了。\n"); if( !me->is_fighting() ) return notify_fail("雷动九天只能在战斗中使用。\n"); if( (int)me->query("neili") < 500 ) return notify_fail("你的内力不够。\n"); count = me->query_str(); skill = me->query_skill("cuff"); if( skill < 135 ) return notify_fail("你的破玉拳修为还不够。\n"); me->add("neili", -400); message_combatd( HIM "$N深深吸了一口气,脸上顿时紫气大盛,出手越来越重!\n" NOR, me); count = me->query("str") + (int)(skill/10); count1 = me->query("dex") + (int)(skill/10); me->add_temp("str", count); me->add_temp("dex", count1); me->set_temp("leidong", 1); me->start_call_out( (: call_other, __FILE__, "remove_effect", me, count, count1 :), skill/3 ); return 1; } void remove_effect(object me, int amount, int amount1) { if ( (int)me->query_temp("leidong") ) { me->add_temp("str", -amount); me->add_temp("dex", -amount1); me->delete_temp("leidong"); tell_object(me, CYN"你的雷动九天运行完毕,将内力收回丹田。\n"NOR); me->start_busy(4); } } 3.太极剑法随字决,最普通的辅助武功作用就是减一点攻击加一点防御,同样是不下线就不会没的东东.注:源代码有改动本来是有时间限制的,有一次给巫师调整了一下.要求武功等级:40级 // sui.c 太极剑法 [随]字决 #include inherit F_CLEAN_UP; void remove_effect(object me, int a_amount, int d_amount); inherit F_SSERVER; int perform(object me, object target) { object weapon; int skill; string msg; if( !target ) target = offensive_target(me); if( !target || !target->is_character() || !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( (int)me->query_skill("taiji-jian", 1) < 40 ) return notify_fail("你的太极剑法不够娴熟,不会使用「随」字诀。\n"); if( (int)me->query("neili") < 300 ) return notify_fail("你的内力不够。\n"); if( (int)me->query_temp("tjj_sui") ) return notify_fail("你已经在运功\中了。\n"); skill = me->query_skill("taiji-jian"); msg = HIB "$N使出太极剑法「随」字诀,剑圈逐渐缩小将周身护住。\n"NOR; message_combatd(msg, me, target); me->add_temp("apply/attack", -skill/4); me->add_temp("apply/dodge", skill/3); me->set_temp("tjj_sui", 1); me->start_call_out( (: call_other, __FILE__, "remove_effect", me, skill/4, skill/3 :), skill/4); me->add("neili", -100); if( me->is_fighting() ) me->start_busy(2); return 1; } void remove_effect(object me, int a_amount, int d_amount) { me->add_temp("apply/attack", a_amount); me->add_temp("apply/dodge", - d_amount); me->delete_temp("tjj_sui"); tell_object(me, HIY "你的随字决运行完毕,将内力收回丹田。\n"); } 4.2种有待发掘的辅助武功之1:全真剑法之同归于尽,要求在你重伤的时候才能发,提高8-10倍的攻击,防御减半,括号内的攻击也有一定增加,但是等级高的话攻击会变成-的,主要是当时没有考虑到攻击会超过1000w的原因,具体的效果还有待研究,反正一般的连招发了通通没命中. // gonggui.c 全真剑法 同归剑法 #include #include #include #include void remove_effect(object me, int a_amount, int d_amount); inherit F_SSERVER; int perform(object me, object target) { object weapon; int skill; int extra; string msg; extra = me->query_skill("quanzhen-jian",1); if( !target ) target = offensive_target(me); if( !target || !target->is_character() || !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( (int)me->query_skill("quanzhen-jian", 1) < 135 ) return notify_fail("你的全真剑法不够娴熟,不会使用「同归剑法」。\n"); if( (int)me->query_skill("xiantian-qigong",1) < 100) return notify_fail("你的先天神功火候不够,不能使用「同归剑法」。\n"); // if(!( me->query("eff_qi")<1||(int)(me->query("max_qi")/me->query("eff_qi"))>=2.5)) // return notify_fail("你还没受重伤,不要使用此剑法。\n"); if( (int)me->query("neili") < 800 ) return notify_fail("你的内力不够。\n"); if( (int)me->query_temp("qzj_tong") ) return notify_fail("你已经在运功中了。\n"); msg = HIB+me->name()+HIB"左手捏一个剑决,右手握起" + weapon->name() + ",拼着最后的力气,一式「同归剑法」,\n"; msg += "驭剑猛烈绝伦地冲向"+target->name()+HIB",意图与"+target->name()+HIB"同归一尽!\n"NOR; message_vision(msg, me, target); if (me->query_skill("qixing-array",1)>80) { msg = HIC "$N脚走七星, 倒转天权!" NOR; COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg); } if (me->query_skill("qixing-array",1)>150) { msg = HIG "$N脚走七星, 风动玉衡!" NOR; COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg); } if (me->query_skill("qixing-array",1)>200) { msg = HIW "$N脚走七星, 瑶光音迟!" NOR; COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg); } me->add_temp("apply/attack",extra); me->add_temp("apply/damage",extra); me->add_temp("apply/dexerity",extra/2); me->add_temp("apply/strength",extra/2); // me->add_temp("apply/dodge", -(int)me->query_skill("dodge",1)/2); me->add_temp("apply/damage",(int)me->query_skill("quanzhen-jian",1)/2); me->set_temp("qzj_tong", 1); me->start_call_out( (: call_other, __FILE__, "remove_effect", me, (int)me->query_skill("dodge",1)/2, (int)me->query_skill("quanzhen-jian",1)/2:), 30); me->add("neili", -500); me->start_busy(4); return 1; } void remove_effect(object me, int a_amount, int d_amount) { int extra; extra = me->query_skill("quanzhen-jian",1); me->add_temp("apply/attack",-extra); me->add_temp("apply/damage",-extra); me->add_temp("apply/dexerity",-extra/2); me->add_temp("apply/strength",-extra/2); me->add_temp("apply/damage",-(int)me->query_skill("quanzhen-jian",1)/2); me->delete_temp("qzj_tong"); me->start_busy(2); tell_object(me, "你运功完毕。\n"); } 5.醉棍,没少林的号研究不了,请大家补充 // zuida.c 少林醉棍 [八仙醉打] #include inherit F_SSERVER; void remove_effect(object me, int amount, int amount1); int perform(object me, object target) { object weapon; string msg; int count, count1, cnt, skill; if( !me->is_fighting() ) return notify_fail("「八仙醉打」只能在战斗中使用。\n"); if (!objectp(weapon = me->query_temp("weapon")) || (string)weapon->query("skill_type") != "club") return notify_fail("你使用的武器不对。\n"); if( (int)me->query_temp("zuida") ) return notify_fail("你已经在运功中了。\n"); if( (int)me->query_temp("powerup")) return notify_fail(HIG"你已经运起内功加力了,没有更多的内力使用八仙醉打。\n"NOR); if( (int)me->query_str() < 25 ) return notify_fail("你的臂力不够,目前不能使用此绝技! \n"); if( (int)me->query_skill("hunyuan-yiqi", 1) < 60) return notify_fail("你的混元一气功的功力不够,不能使用此项绝技!\n"); if( (int)me->query_skill("club") < 90) return notify_fail("你的棍法修为不够,不能使用此项绝技! \n"); if( (int)me->query("neili") < 500 ) return notify_fail("你的真气不足!\n"); msg = HIY "$N使出少林醉棍的绝技「八仙醉打」,臂力陡然增加, 身法陡然加快!\n" NOR; message_combatd(msg, me, target); skill = me->query_skill("zui-gun",1); cnt =(int)( (int)me->query_condition("drunk") / 3 ); count = me->query("str") * random(cnt + 2); count1 = me->query("dex") * random(cnt + 2); me->add_temp("str", count); me->add_temp("dex", count1); me->set_temp("zuida", 1); me->start_call_out( (: call_other, __FILE__, "remove_effect", me, count, count1 :), skill /3 ); me->add("neili", -150); return 1; } void remove_effect(object me, int amount, int amount1) { if ( (int)me->query_temp("zuida") ) { me->add_temp("str", -amount); me->add_temp("dex", -amount1); me->delete_temp("zuida"); tell_object(me, HIY "你的八仙醉打运功完毕,将内力收回丹田。\n" NOR); me->start_busy(4); } } |
更多资料