铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 1517|回复: 0

[新手指南] 子母针代码

[复制链接]
发表于 2010-1-7 09:20 | 显示全部楼层 |阅读模式

马上注册,结交更多侠友!

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
// zimu-zhen.c 子母针法
#include <ansi.h>
inherit SKILL;
string *du=({
"ice_poison",
"ill_dongshang",
"ill_fashao",
"ill_kesou",
"ill_shanghan",
"ill_zhongshu",
"xx_poison",
"cold_poison",
"flower_poison",
"rose_poison",
"x2_poison",
"sanpoison",
"scorpion_poison",
"qx_snake_poison",
"anqi_poison",
"yf_poison",
"nx_poison",
"chilian_poison",
"yufeng_poison",
   已经显示 7%    (ENTER 继续下一页,q 离开,b 前一页)
"insect_poison",
"tmzhuihun_poison",
"tmpili_poison",
"zm_poison",
"zmqidu_poison",
});

string *order = ({""HIY"", ""HIG"", ""RED"", ""MAG"", ""YEL"", ""HIC"", ""HIW"", ""HIR"",""HIB"", ""CYN"",""WHT"",""HIM"",""BLU""});
mapping *action = ({
([      "action":               "$N双手连环挥舞,一招"+(order[random(13)])+"「穿心针」"NOR",$w直奔$n的胸腹要害",
        "dodge":                100,
        "force":                200,
        "damage":               300,
        "poison": 30,
        "lvl" : 0,
        "skill_name" : "穿心针",
        "post_action":  (: call_other, WEAPON_D, "throw_weapon" :),
        "damage_type":  "刺伤"
]),
([      "action":               "$N身形晃动,一招"+(order[random(13)])+"「破气针」"NOR",手中$w如一串银线,往$n咽喉打去",
        "dodge":                20,
        "force":                200,
        "damage":               300,
   已经显示 15%    (ENTER 继续下一页,q 离开,b 前一页)
        "poison": 40,
        "lvl" : 60,
        "skill_name" : "破气针",
        "post_action":  (: call_other, WEAPON_D, "throw_weapon" :),
        "damage_type":  "刺伤"
]),
([      "action":               "$N五指微张,一招"+(order[random(13)])+"「吸血针」"NOR",手中$w飞蚊般往$n全身叮去",
        "dodge":                40,
        "force":                200,
        "damage":               400,
        "poison": 50,
        "lvl" : 90,
        "skill_name" : "吸血针",
        "post_action":  (: call_other, WEAPON_D, "throw_weapon" :),
        "damage_type":  "刺伤"
]),
([      "action":               "$N大喝一声,一招"+(order[random(13)])+"「摄魂针」"NOR",$w幻化出夺目光亮,打向$n",
        "dodge":                50,
        "force":                200,
        "damage":               460,
        "poison": 60,
        "lvl" : 100,
        "skill_name" : "摄魂针",
   已经显示 23%    (ENTER 继续下一页,q 离开,b 前一页)
        "post_action":  (: call_other, WEAPON_D, "throw_weapon" :),
        "damage_type":  "刺伤"
]),
([      "action":               "$N错步一跃,一招"+(order[random(13)])+"「夺魄针」"NOR",$w带着阵阵阴风,打向$n全身",
        "dodge":                60,
        "force":                200,
        "damage":               500,
        "poison": 70,
        "lvl" : 110,
        "skill_name" : "夺魄针",
        "post_action":  (: call_other, WEAPON_D, "throw_weapon" :),
        "damage_type":  "刺伤"
]),
([      "action":               "$N双目精芒闪动,一招"+(order[random(13)])+"「离别针」"NOR",手中$w全数脱手飞出,排山倒海般打向$n全身",
        "dodge":                50,
        "force":                200,
        "damage":               550,
        "poison": 80,
        "lvl" : 120,
        "skill_name":  "离别针",
        "post_action":  (: call_other, WEAPON_D, "throw_weapon" :),
        "damage_type":  "刺伤"
]),
   已经显示 31%    (ENTER 继续下一页,q 离开,b 前一页)
([      "action":               "$N纵声长啸,一招"+(order[random(13)])+"「天魔针」"NOR",$w竟然带着一股强烈劲风,扫向$n",
        "dodge":                70,
        "force":                200,
        "damage":               600,
        "poison": 90,
        "lvl" : 130,
        "skill_name" : "天魔针",
        "post_action":  (: call_other, WEAPON_D, "throw_weapon" :),
        "damage_type":  "刺伤"
]),
([      "action":               "$N眼中杀气突然大盛,一招"+(order[random(13)])+"「地煞针」"NOR",$w飞蝗般打向$n全身",
        "dodge":                100,
        "force":                200,
        "damage":               700,
        "poison": 100,
        "lvl" : 200,
        "skill_name" : "地煞针",
        "post_action":  (: call_other, WEAPON_D, "throw_weapon" :),
        "damage_type":  "刺伤"
]),
});

int valid_enable(string usage) { return (usage == "throwing") || (usage == "parry"); }
   已经显示 39%    (ENTER 继续下一页,q 离开,b 前一页)

int valid_learn(object me)
{
        object weapon;

        if( (int)me->query("max_neili") < 500 )
                return notify_fail("你的内力够练子母连环针, 再多练练吧。\n");

        if ((int)me->query_skill("biyun-xinfa", 1) < 100)
                return notify_fail("你的碧云心法火候太浅。\n");
        if ((int)me->query_skill("pili-biao", 1) < 200)
                return notify_fail("你的霹雳镖火候太浅。\n");
        if ((int)me->query_skill("liuxing-biao", 1) < 200)
                return notify_fail("你的流星赶月镖火候太浅。\n");
        if ((int)me->query_skill("zhuihun-biao", 1) < 200)
                return notify_fail("你的追魂夺命镖火候太浅。\n");


        if ( !objectp(weapon = me->query_temp("weapon"))
        || ( string)weapon->query("skill_type") != "throwing" )
                return notify_fail("你手上并没有暗器,怎么练?\n");

        return 1;
   已经显示 47%    (ENTER 继续下一页,q 离开,b 前一页)
}

string query_skill_name(int level)
{
        int i;
        for(i = sizeof(action)-1; i >= 0; i--)
                if(level >= action["lvl"])
                        return action["skill_name"];
}

mapping query_action(object me, object weapon)
{
        int i, level;
        level   = (int) me->query_skill("zimu-zhen",1);
        for(i = sizeof(action); i > 0; i--)
                if(level > action[i-1]["lvl"])
                        return action[NewRandom(i, 20, level/5)];
}

int practice_skill(object me)
{
        object weapon;

   已经显示 55%    (ENTER 继续下一页,q 离开,b 前一页)
        if (!objectp(weapon = me->query_temp("weapon"))
        || (string)weapon->query("skill_type") != "throwing")
                return notify_fail("你使用的武器不对。\n");
        if ((int)me->query_skill("pili-biao", 1) < 200)
                return notify_fail("你的霹雳镖火候太浅。\n");
        if ((int)me->query_skill("liuxing-biao", 1) < 200)
                return notify_fail("你的流星赶月镖火候太浅。\n");
        if ((int)me->query_skill("zhuihun-biao", 1) < 200)
                return notify_fail("你的追魂夺命镖火候太浅。\n");

        if ((int)me->query("qi") < 100)
                return notify_fail("你的体力不够练子母针法。\n");
        if ((int)me->query("jing") < 100)
                return notify_fail("你的精不够练子母针法。\n");
        if ((int)me->query("neili") < 100)
                return notify_fail("你的内力不够练子母针法。\n");

        me->receive_damage("qi", 60);
        me->receive_damage("jing", 60);
        me->receive_damage("neili", 60);
        return 1;
}

   已经显示 63%    (ENTER 继续下一页,q 离开,b 前一页)
string perform_action_file(string action)
{
        if ( this_player()->query_skill("zimu-zhen", 1) >= 50 )
                return __DIR__"zimu-zhen/" + action;
}
mixed hit_ob(object me, object victim, int damage_bonus, int factor, string limb)
{
        int level, jiali, time,level2;
        object weapon;

        int lvl;
        int flvl;
        int damage,damage2;
object target;

        level = (int) me->query_skill("biyun-xinfa",1);
        level2= (int) me->query_skill("biyun-xinfa",1);

damage2= (int) victim->query("neili",1)/8;
if (damage2>= 3800) damage2 = 3800;
        
if (random(8)==0 && level>=300 && me->query_skill_mapped("force") == "biyun-xinfa")
{
   已经显示 71%    (ENTER 继续下一页,q 离开,b 前一页)
            victim->receive_damage("qi",20);
            victim->receive_wound("qi",15 + random(10));
            victim->apply_condition(du[random(sizeof(du))], 25);
            victim->apply_condition(du[random(sizeof(du))], 25);
            victim->apply_condition(du[random(sizeof(du))], 25);
            victim->apply_condition(du[random(sizeof(du))], 25);
            victim->apply_condition(du[random(sizeof(du))], 25);
            victim->apply_condition(du[random(sizeof(du))], 25);
if (!victim->is_busy()) victim->start_busy(2);  
return HIR "$N突然收掌,然后迅速发掌! 掌中尽然有毒砂,这掌风尽然是五颜六色的!$n硬起头皮,以掌硬接!!结果身中巨毒!!\n";
}

        weapon = me->query_temp("weapon");
            
        if (random(5)==1 && me->query_skill("zhuihun-biao",1)>100)
        {
        victim->add("qi",-me->query_skill("zhuihun-biao",1)/2);
        me->add("qi",me->query_skill("zhuihun-biao",1)/2);
        return HIR"$n只觉伤口上鲜血随着暗器流出!喷了一地!!\n"NOR;
        }
        if(weapon->query("name")=="子母飞针" && weapon->query("id")=="zimuzhen" && me->query_temp("marks/子母针")         ){

          victim->apply_condition("zm_poison", random(me->query_skill("zimu-zhen")) + 50 +
          victim->query_condition("zm_poison"));
   已经显示 79%    (ENTER 继续下一页,q 离开,b 前一页) }
        level = (int) me->query_skill("biyun-xinfa",1);
        level2= (int) me->query_skill("zimu-zhen",1);
        jiali = me->query("jiali");
if (!me) return;
if (!victim) return;
if (!weapon) return;
if (!level2) return;
if (!jiali) jiali=10;
        if( damage_bonus > 10 && random(level2)>150 && random(2)==0) {
        victim->receive_wound("qi", (random(jiali)+100));
        return HIB"$n只觉$l上一阵麻痒,伤口尽流出了碧绿色的血!\n"NOR;
        }
}

int ob_hit(object ob, object me, int damage)
{
        object weapon = me->query_temp("weapon");
        string msg,dodge_skill,*limbs;
        int i, j, level,level2, p, q;
        
        limbs = ob->query("limbs");
        level = me->query_skill("zimu-zhen", 1);
   已经显示 87%    (ENTER 继续下一页,q 离开,b 前一页)
level2 = me->query_skill("pili-biao", 1);
        if( me->is_busy()) return 1;
        if (  level2 > 100
        && random(5)==1){

            msg = HIC"$n出招时,突然所用的内力随着伤口流出!\n"NOR;
            ob->add("neili",-level2/2);
            me->add("neili",level2/2);
            if ( random(2) == 1){
             if (!ob->is_busy())
             ob->start_busy(2+random(2));
         }
        if( damage < 50 ) return 1;
        if (  random(level) > 180
         && me->query_skill_mapped("throwing") =="zimu-zhen"
         && me->query_skill_mapped("parry") =="zimu-zhen"
         && weapon
         && weapon->query("skill_type") == "throwing"
         && me->query_skill("throwing") > 300
         && random(me->query_skill("throwing",1)) > 150
         && !me->is_busy()
         && me->query("neili") > 200
         && me->query("max_neili") > 900
   已经显示 95%    (ENTER 继续下一页,q 离开,b 前一页)
         && random(me->query_int()) >= 20 ){
            me->add("neili", -100);
            msg = HIB"$n刚出玩招后,觉得身上的伤口一阵麻痒!难受的在地上打起了滚。\n"NOR;
            ob->add("neili",-ob->query("neili")/15);
            if ( random(2) == 1){
             if (!ob->is_busy())
             ob->start_busy(3);
}
else             msg = HIG"$n刚出玩招后,觉得身上的伤口一阵麻痒!但$n咬了咬牙关挺了过去。\n"NOR;
            message_vision(msg, me, ob);
            return damage;
        }
               }
}

[发帖际遇]: hxsd在街上游玩时,被“妙手书生”朱聪撞个满怀,过后发现少了银两14两。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-12-19 06:38

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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