📄 jinyu-quan.c
字号:
// jinyu-quan.c 金玉拳#include <ansi.h>inherit SKILL;mapping *action = ({([ "action" : "$N一招「金光灿烂」,双拳一上一下, 向$n挥去", "force" : 120, "dodge" : 10, "damage" : 220, "lvl" : 0, "skill_name" : "金光灿烂", "damage_type" : "瘀伤"]),([ "action" : "$N一招「其利断金」,幻出一片拳影,气势如虹,击向$n的头部", "force" : 140, "dodge" : 20, "damage" : 130, "lvl" : 20, "skill_name" : "其利断金", "damage_type" : "瘀伤"]),([ "action" : "$N身影向上飘起,脸浮微笑,一招「蓝田美玉」,轻轻拍向$n的$l", "force" : 150, "dodge" : 20, "damage" : 145, "lvl" : 40, "skill_name" : "蓝田美玉", "damage_type" : "瘀伤"]),([ "action" : "$N一招「金玉其外」,双拳一合,$n只觉到处是$N的拳影", "force" : 160, "dodge" : 25, "damage" : 160, "lvl" : 60, "skill_name" : "金玉其外", "damage_type" : "瘀伤"]),([ "action" : "$N绕着$n一转,满场游走,拳出如风,不绝击向$n,正是一招「金玉满堂」", "force" : 170, "dodge" : 30, "damage" : 160, "lvl" : 80, "skill_name" : "金玉满堂", "damage_type" : "瘀伤"]),([ "action" : "只见$N一个侧身退步,左手虚晃,突然猛跨两步,已到$n面前,右拳陡出,事先绝无征兆,迅如崩雷,一招「点石成金」击向$n的前胸", "force" : 180, "dodge" : 35, "damage" : 180, "lvl" : 100, "skill_name" : "点石成金", "damage_type" : "瘀伤"]),([ "action" : "$N一招「众口铄金」,扑向$n,似乎$n的全身都被拳影笼罩", "force" : 280, "dodge" : 30, "damage" : 200, "lvl" : 120, "skill_name" : "众口铄金", "damage_type" : "瘀伤"]),});int valid_enable(string usage) { return usage=="cuff" || usage=="parry"; }int valid_combine(string combo) { return combo=="wuluo-zhang"; }int valid_learn(object me){ if ((int)me->query_skill("kurong-changong",1) < 20) return notify_fail("你的枯荣禅功火候不够,无法练金玉拳。\n"); if (me->query_temp("weapon") || me->query_temp("secondary_weapon")) return notify_fail("练金玉拳必须空手。\n"); if ((int)me->query("max_neili") < 100) return notify_fail("你的内力太弱,无法练金玉拳。\n"); return 1;}mapping query_action(object me, object weapon){ int i, level,a,b,c,d,e; level = (int) me->query_skill("jinyu-quan",1); a = me->query("neili");// 注意,取后天属性时要注意某些心法可以增加临时属性。 b = me->query_str(); c = me->query_dex(); d = me->query_con(); e = me->query("jiali"); if (a > 2000) a= 2000; if (a < 500) a= 500; if (level > 200) level = 200 + (level-200)/10; if (random((int)me->query_skill("cuff")) >= 100 && ((int)me->query("neili") >= 500 ) && (me->query_skill_prepared("cuff") == "jinyu-quan") && random(10)> 5 ) { return ([ "action":HIY"$N左掌一晃,随即右拳击出,紧跟着拳掌交错,上下前后连续击出三十六道劲风"NOR, "parry":(int)me->query_skill("parry", 1)/8, "dodge":(int)me->query_skill("dodge", 1)/6, "force": 550, "damage": 550, "damage_type": "内伤" ]); } 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){ if ((int)me->query("qi") < 50) return notify_fail("你的体力太低了。\n"); if ((int)me->query("neili") < 20) return notify_fail("你的内力不够练金玉拳。\n"); me->receive_damage("qi", 30); me->add("neili", -10); return 1;}mixed hit_ob(object me, object victim, int damage_bonus, int factor){if (damage_bonus <10) damage_bonus=10; if( random(me->query_skill("jinyu-quan",1)) > 90 ) { victim->receive_wound("qi", damage_bonus/3); return HIR "$n被一片拳影,顿时双眼一黑!\n" NOR;}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -