⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chanhun-suo.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
#include <ansi.h>inherit SKILL;mapping *action = ({([      "action": "$N单手一扬,一招「虐目」,手中$w抖得笔直,直点$n的双眼",        "force" : 110,        "dodge" : 12,        "parry" : 10,        "damage": 135,        "lvl"   : 0,        "skill_name" : "虐目",        "damage_type": "刺伤"]),([      "action": "$N力贯鞭梢,一招「伤肝」,手中$w舞出满天鞭影,横扫$n腰间",        "force" : 140,        "dodge" : 17,        "parry" : 15,        "damage": 150,        "lvl"   : 20,        "skill_name" : "伤肝",        "damage_type": "劈伤"]),([      "action": "$N运气于腕,一招「损心」,手中$w向一根铜棍般直击$n胸部",        "force" : 180,        "dodge" : 21,        "parry" : 19,        "damage": 143,        "lvl"   : 40,        "skill_name" : "损心",        "damage_type": "内伤"]),([      "action": "$N单臂一挥,一招「催胆」,手中$w直击向$n腰肋",        "force" : 215,        "dodge" : 32,        "parry" : 27,        "damage": 158,        "lvl"   : 60,        "skill_name" : "催胆",        "damage_type": "劈伤"]),([      "action": "$N高高跃起,一招「摄魄」,手中$w笔直向$n当头罩下",        "force" : 255,        "dodge" : 42,        "parry" : 37,        "damage": 175,        "lvl"   : 80,        "skill_name" : "摄魄",        "damage_type": "劈伤"]),([      "action": "$N身形一转,一招「收魂」,手中$w如矫龙般腾空一卷,猛地向$n劈头打下",        "force" : 330,        "dodge" : 87,        "parry" : 69,        "damage": 181,        "lvl"   : 100,        "skill_name" : "收魂",        "damage_type": "劈伤"]),});int valid_enable(string usage) { return (usage == "whip") || (usage == "parry"); }int valid_learn(object me){        object weapon;        if ( !objectp(weapon = me->query_temp("weapon"))        || ( string)weapon->query("skill_type") != "whip" )                return notify_fail("你必须先找一条鞭子才能练习缠魂索。\n");	if ((int)me->query_skill("huagong-dafa", 1) < 125)		return notify_fail("你的化功大法火候不够.\n");	if ((int)me->query_skill("sanyin-wugongzhao", 1) < 120)		return notify_fail("你的三阴蜈蚣爪火候不够.\n");        if( (int)me->query("max_neili") < 400 )                return notify_fail("你的内力不足,没有办法练习缠魂索。\n");        if ((int)me->query_skill("force") < 80)                return notify_fail("你的内功火候太浅。\n");        if ((int)me->query_skill("whip", 1) < 60)                return notify_fail("你的基本鞭法火候太浅。\n");        if (((int)me->query_skill("whip", 1)+150) < (int)me->query_skill("ruanhong-zhusuo", 1))                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[i]["lvl"])                        return action[i]["skill_name"];}mapping query_action(object me, object weapon){        int i, level;        level   = (int) me->query_skill("chanhun-suo",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;        if (!objectp(weapon = me->query_temp("weapon"))        || (string)weapon->query("skill_type") != "whip")                return notify_fail("你使用的武器不对。\n");	if ((int)me->query_skill("huagong-dafa", 1) < 125)		return notify_fail("你的化功大法火候不够.\n");	if ((int)me->query_skill("sanyin-wugongzhao", 1) < 120)		return notify_fail("你的三阴蜈蚣爪火候不够.\n");        if ((int)me->query("qi") < 60)                return notify_fail("你的体力不够练缠魂索。\n");        if ((int)me->query("neili") < 60)                return notify_fail("你的内力不够练缠魂索。\n");        me->receive_damage("qi", 50);        me->add("neili", -50);        return 1;}string perform_action_file(string action){        return __DIR__"chanhun-suo/" + action;}mixed hit_ob(object me, object victim, int damage_bonus, int factor){        int lvl;        int flvl;        lvl  = me->query_skill("chanhun-suo", 1);        flvl = me->query("jiali");        if (lvl < 100 || ! damage_bonus ||            me->query_skill_mapped("force") != "huagong-dafa" ||            me->query("neili") < 300)                return;        if (random(5)==0)        {if (victim->query("neili") > 1500)victim->add("neili",-600);                return HIY "$n" HIY "感到内力如雪花融化一样,消失了。。\n" NOR;        }else        if (random(5)==0)        {if (victim->query("qi") > 500)victim->add("qi",-250);victim->add("eff_qi",-(50+random(200)));victim->apply_condition("xx_poison",20);victim->apply_condition("x2_sandu",20);victim->apply_condition("sanpoison",20);                return HIY "$n" HIY "感到肌肤便似腐烂一般,散发出一股极难"               "闻的恶臭。。\n" NOR;        }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -