铁血丹心

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

[新手指南] 圣火令法代码

[复制链接]
发表于 2009-9-17 08:26 | 显示全部楼层 |阅读模式

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

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

x
// Shenghuo-ling  圣火令法
// Shark , 98/10/01 国庆
// 【超频】Ultra Mind Studio ,Copyright 1998

#include <ansi.h>;
inherit SKILL;  
string *order = ({""HIY"", ""HIG"", ""RED"", ""MAG"", ""YEL"", ""HIC"", ""HIW"", ""HIR"",""HIB"", ""CYN"",""WHT"",""HIM"",""BLU""});

mapping *action = ({
([  "action": ""+(order[random(13)])+"$N踏上一步,忽地在地上一坐,已抱住了$n小腿。十指扣住了$n小腿上
的‘中都’‘筑宾’两穴,$n只觉下半身酸麻难动,大吃一惊"NOR"",
        "force" : 150,
        "dodge" : 20,
"parry" : 20,
    "damage": 200,
    "damage_type": "挫伤"
]),
([  "action": ""+(order[random(13)])+"突然之间,$N身形晃动,同时欺近,手中$w往$n身上划去。脚下不知如何
移动,身形早变。右手同时抓住$n后领,一抖之下,将$n向外远远掷了出去"NOR"",
        "force" : 150,
"parry" : 20,
    "dodge": 20,
    "damage": 200,
    "damage_type": "挫伤"
]),
([  "action": ""+(order[random(13)])+"$N欺身直进,左手持$w向$n天灵盖上拍落。便在这一瞬之间,$n滚身向
左,已然一拳打在$n腿上。$n一个踉跄,$N横过$w戳向$n后心"NOR"",
    "dodge": 30,
"parry" : 20,
        "force" : 150,
    "damage": 220,
    "damage_type": "刺伤"
]),
([  "action": ""+(order[random(13)])+"$N忽地放手,手中那柄$w尾端向上弹起,拍的一响,正好打中$n手腕。"NOR"",
"parry" : 20,
        "force" : 150,
    "dodge": 20,
    "damage": 290,
    "damage_type": "刺伤"
]),
([  "action": ""+(order[random(13)])+"$N忽然低头,一个头锤向$n撞来,$n不动声色,向旁又是一让,突觉胸口
一痛,已被$N手肘撞中"NOR"",
        "force" : 150,
"parry" : 20,
    "dodge": 20,
    "damage": 280,
    "damage_type": "瘀伤"
]),
([  "action": ""+(order[random(13)])+"$N忽然低头,一个头锤向$n撞来,$n不动声色,向旁又是一让,突觉胸口
$N手中$w急挥横扫,突然连翻三个空心筋斗。$n不知对方是何用意,心想还是避之
为妙,刚向左踏开一步,眼前白光急闪,$N的$w已到右肩"NOR"",
        "force" : 250,
"parry" : 20,
    "dodge": 20,
    "damage": 230,
    "damage_type": "挫伤"
]),
([  "action": ""+(order[random(13)])+"$N忽然低头,一个头锤向$n撞来,$n不动声色,向旁又是一让,突觉胸口
一痛,已被$N手肘撞中"NOR"",
        "force" : 250,
"parry" : 20,
    "dodge": 20,
    "damage": 250,
    "damage_type": "挫伤"
]),
([      "action" : ""+(order[random(13)])+"$N将手中$w横挥,一式「横扫千军」,$w带出一股风声,疾驶向$n的咽喉"NOR"",
        "skill_name" : "横扫千军",
        "force" : 150,
        "dodge" : 20,
        "parry" : 20,
        "lvl" : 30,
        "damage" : 300,
        "damage_type" : "内伤",
]),
([      "action" : ""+(order[random(13)])+"$N双手持$w举过头顶,猛然挥出「天降神兵」\n只见一股强劲的气浪随$w自空而降,袭向$n"NOR"",
        "skill_name" : "天降神兵",
        "force" : 280,
        "dodge" : 30,
        "parry" : 30,
        "lvl" : 60,
        "damage" : 350,
        "damage_type" : "内伤",
]),
([      "action" : ""+(order[random(13)])+"$N手撙$w,运起真气,脚下走出怪异步法\n顿时好似有无数个$N将那无数的$w斩向$n的头颅,这着唤做「天阵伏魔」"NOR"",
        "skill_name" : "天阵伏魔",
        "force" : 320,
        "dodge" : 50,
        "parry" : 30,
        "lvl" : 100,
        "damage" : 300,
        "damage_type" : "劈伤",
]),

([      "action" : HIR"只见$N挥力太猛,$w当空坠落,$N急忙俯身去接\n$n看到如此大好时机,岂肯放过,一步抢入准备施展手段\n$n怎知这正中了圣火令法的绝招「偃旗息鼓」,只见$N突然一个鹞子翻身,$n只感到胸口冰凉,看时已是$w插入了心脏处!"NOR,
        "skill_name" : "偃旗息鼓",
        "force" : 300,
        "dodge" : 100,
        "parry" : 100,
        "lvl" : 120,
        "damage" : 500,
        "damage_type" : "刺伤",
]),

});


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

//int valid_combine(string combo) { return combo=="mingwang-jian"; }

int valid_learn(object me)
{
        object weapon;
        if ((int)me->query_skill("sougu", 1) < 80)
                return notify_fail("你的搜骨鹰爪功火候太浅。\n");
        if ((int)me->query_skill("hanbing-mianzhang", 1) < 80)
                return notify_fail("你的寒冰绵掌火候太浅。\n");
        if ((int)me->query_skill("shenghuo-shengong", 1) < 30)
                return notify_fail("你对圣火神功的领悟不够,无法学圣火令法。\n");
        return 1;
}

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)
{
        if (random(me->query_skill("sword")) > 150 &&
            me->query_skill("force") > 150 &&
            me->query("neili") > 500 && random(3)==0)
         {
                me->add("neili", -30);
                return ([
          "action" : "只见$N挥力太猛,$w当空坠落,$N急忙俯身去接。$n看到如此大好时机,岂肯放过,一步抢入准备施展手段\n却只见$N突然一个鹞子翻身,$w由下而上急速向$n刺去!",
        "skill_name" : "偃旗息鼓",
        "force" : 600,
        "dodge" : 100,
        "parry" : 100,
       "lvl" : 120,
        "damage" : 800,
        "damage_type" : "刺伤",
                       ]);
        }
        return action[random(sizeof(action))];
}

int practice_skill(object me)
{
        if ((int)me->query("qi") < 50)
                return notify_fail("你的体力不够,练不了圣火令法。\n");
        if ((int)me->query("neili") < 600)
                return notify_fail("你的内力不够练圣火令法。\n");
        if ((int)me->query_skill("sougu", 1) < 80)
                return notify_fail("你的搜骨鹰爪功火候太浅。\n");
        if ((int)me->query_skill("hanbing-mianzhang", 1) < 80)
                return notify_fail("你的寒冰绵掌火候太浅。\n");
        me->receive_damage("qi", 30);
        me->add("neili", -10);
        return 1;
}

string perform_action_file(string action)
{
        return __DIR__"shenghuo-ling/" + action;
}
int ob_hit(object ob, object me, int damage)
{
        object wp1,weapon;
        string msg;
        int p,j,skill, neili, neili1;
        int level,level2,damage2;
        level = (int) me->query_skill("unarmed",1);
        level2= (int) me->query_skill("jiuyang-shengong",1);
        skill = me->query_skill("jiuyang-shengong", 1);
        neili = me->query("neili");
        neili1 = ob->query("neili");
if ( level2<= 0) level2= (int) me->query_skill("shenghuo-shengong",1);
damage2= (int) ob->query("neili",1)/10;
if (random(8)==0 && level2>=300 && (me->query_skill_mapped("force") == "jiuyang-shengong" || me->query_skill_mapped("force") == "shenghuo-shengong"))
{
j = -damage/2;
j = 0;
if (damage2> 5000)        damage2=5000;
msg = HIC+"$N运起九阳神功 全身内力爆发,浮现出一层刚猛的劲气! !" +NOR;
           message_vision(msg, me, ob);
if ( me->is_busy())
{
me->start_busy(1);
ob->start_busy(2);
}
if (me->query("neili") > me->query("max_neili")*2)
{
               
                me->add("neili", damage2);
}

}


           return j;
}      

mixed hit_ob(object me, object victim, int damage_bonus, int factor)
{
if( random(me->query_skill("hanbing-mianzhang",1)) > 10 )
        victim->apply_condition("ice_poison", random(me->query_skill("hanbing-mianzhang",1)/10) + 16 + victim->query_condition("ice_poison"));
}

[发帖际遇]: hxsd在河边遇到张三李四,花费银两10向他们购买了玄冰碧火酒,喝下之后内力全失。
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2009-9-17 12:19 | 显示全部楼层
把perform的代码也发布下吧

[发帖际遇]: happyrang卖下一个mod的制作人绝密采访稿,狂赚银两25.
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2010-5-3 10:34 | 显示全部楼层
那个能读的圣火令的怎么拿?
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

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

GMT+8, 2024-12-22 18:03

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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