📄 xueshan-sword.c
字号:
// xueshan-sword 雪山剑法#include <ansi.h>inherit SKILL; string *order = ({""HIY"", ""HIG"", ""RED"", ""MAG"", ""YEL"", ""HIC"", ""HIW"", ""HIR"",""HIB"", ""CYN"",""WHT"",""HIM"",""BLU""});mapping *action = ({([ "action":"$N左手$w轻送,一招"+(order[random(13)])+"「朝天势」"NOR"向前刺出,疾刺$n的$l", "force" : 50, "dodge" : -10, "damage": 200, "lvl" : 0, "skill_name" : "朝天势", "damage_type": "刺伤"]),([ "action":"$N疾步上前,剑尖连连点出,一式"+(order[random(13)])+"「天雪九点」"NOR",$n正瞧得眼花缭乱,手忙足乱之际,\n突然间$l被一剑刺中", "force" : 50, "dodge" : -10, "damage": 220, "lvl" : 7, "skill_name" : "天雪九点", "damage_type": "刺伤"]),([ "action":"$N剑尖倏地翻上,斜刺$n的$l,正是雪山派剑法中的"+(order[random(13)])+"「老枝横斜」"NOR"", "force" : 70, "dodge" : -7, "damage": 250, "lvl" : 14, "skill_name" : "老枝横斜", "damage_type": "刺伤"]),([ "action":"$N剑尖一抖,正当$n意欲招架,$N不再和他兵刃相碰,立时变招,带转剑锋,\n斜削敌喉,正是雪山派剑法中的"+(order[random(13)])+"「雪泥鸿爪」"NOR"", "force" : 80, "dodge" : -5, "damage": 300, "lvl" : 21, "skill_name" : "雪泥鸿爪", "damage_type": "刺伤"]),([ "action":"$N手中$w一招"+(order[random(13)])+"「暗香疏影」"NOR",如流光逸影,剑刃若有若无,斜削过来,$n难以抵挡,被一剑削中$l", "force" : 100, "dodge" : -5, "parry" : 10, "damage": 320, "lvl" : 28, "skill_name" : "暗香疏影", "damage_type": "割伤"]),([ "action":"$N手中$w连划五个圈子,一招"+(order[random(13)])+"「朔风忽起」"NOR",五道剑芒如罡风呼啸,向$n疾刮而去", "force" : 100, "dodge" : -5, "parry" : 10, "damage": 350, "lvl" : 35, "skill_name" : "朔风忽起", "damage_type": "割伤"]),([ "action":"$N一式"+(order[random(13)])+"「明驼西来」"NOR",手中$w看似沉滞不堪,却似慢实快,令$n难断虚实,无可躲避", "force" : 110, "dodge" : -5, "parry" : 10, "damage": 380, "lvl" : 42, "skill_name" : "明驼西来", "damage_type": "刺伤"]),([ "action":"$N忽然收剑回划,一式"+(order[random(13)])+"「飞沙走石」"NOR",猛地激起地上落叶飞石四处飞扬,挟无比威势,向$n$l刺去", "force" : 120, "dodge" : -5, "parry" : 10, "damage": 400, "lvl" : 49, "skill_name" : "飞沙走石", "damage_type": "刺伤"]),([ "action":"$N举剑和身跃出,一式"+(order[random(13)])+"「胡马越岭」"NOR",$w幻出万道剑芒,于剑光中疾取$n的$l", "force" : 150, "dodge" : 0, "damage": 420, "lvl" : 56, "skill_name" : "胡马越岭", "damage_type": "刺伤"]),([ "action":"$N左手紧握剑指,右剑默运冰雪心法,剑上隐隐青气透出,一式"+(order[random(13)])+"「岭上双梅」"NOR",\n剑指剑锋左右夹攻,直逼$n$l", "force" : 180, "dodge" : 0, "damage": 450, "lvl" : 63, "skill_name" : "岭上双梅", "damage_type": "刺伤"]),([ "action":"$N一式"+(order[random(13)])+"「明月羌笛」"NOR",$w划了一个半月弧形,洒出点点银光,飞向$n的$l", "force" : 200, "dodge" : 5, "damage": 480, "lvl" : 70, "skill_name" : "明月羌笛", "damage_type": "刺伤"]), ([ "action":"$N一招"+(order[random(13)])+"「月色黄昏」"NOR",使得若有若无,朦朦胧胧,$w斜斜划出,直取$n$l", "force" : 220, "dodge" : 5, "parry" : 10, "damage": 500, "lvl" : 77, "skill_name" : "月色黄昏", "damage_type": "刺伤"]), ([ "action":"$N手中$w抖动,一招"+(order[random(13)])+"「梅雪争春」"NOR",虚中有实,实中有虚,剑尖剑锋齐用,\n剑尖是雪点,剑锋乃格枝,四面八方的向$n攻了过来", "force" : 250, "dodge" : 5, "damage": 520, "lvl" : 84, "skill_name" : "梅雪争春", "damage_type": "刺伤"]), ([ "action":"$N手中$w甩出,一招"+(order[random(13)])+"「鹤飞九天」"NOR",在空中盘旋回饶,如闪电般向$n刺出九九\n八十一剑,然后飞回$N手中", "force" : 300, "dodge" : 5, "damage": 550, "lvl" : 91, "skill_name" : "鹤飞九天", "damage_type": "刺伤"]), ([ "action":"$N长啸一声,身法加快,一招"+(order[random(13)])+"「暗影浮香」"NOR",$w如梅干弯弯递出,$n正惊疑间,\n剑上突然豪光绽放,道道剑气向$n笼罩而去", "force" : 350, "dodge" : 5, "damage": 600, "lvl" : 100, "skill_name" : "暗影浮香", "damage_type": "刺伤"]),});int valid_learn(object me){ object ob; if( (int)me->query("max_neili") < 50 ) return notify_fail("你的内力不够,没有办法练雪山剑法。\n"); if( (string)me->query_skill_mapped("force")!= "bingxue-xinfa") return notify_fail("雪山剑法必须配合冰雪心法才能练。\n"); if( !(ob = me->query_temp("weapon")) || (string)ob->query("skill_type") != "sword" ) return notify_fail("你必须先找一把剑才能练剑法。\n"); return 1;}int valid_enable(string usage) { return usage == "sword" || usage == "parry"; }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; object target; level = (int) me->query_skill("xueshan-sword",1); target = me->select_opponent(); weapon = me->query_temp("weapon"); if( random(4)==1 && random(level) > 250) { return ([ "action": HIC"$N手腕轻抖,一刹那中朝$n连刺六剑,每一剑都凭手腕颤动,幻成"+HIW"「雪花六出」"+HIC",手法之快,实是无与伦比,出剑还剑,只一瞬间之事"NOR, "force" : 550+random(200), "dodge" : 350, "damage": 550+random(200), "skill_name" : "雪花六出", "damage_type" : "刺伤" ]); } else if( random(4)==1 && random(level) > 150) { return ([ "action" : HIY"$N手中$w"+HIY"微微颤动,剑光若有若无,这招"+HIW"「暗香疏影」"NOR+HIY"是雪山剑法中最精微的一招,宛若梅树在风中摇曳不定,剑法中夹杂了梅花、梅萼、梅枝、梅干的形态,古朴飘逸,兼而有之"NOR, "force" : 450, "dodge" : 100, "parry" : 200, "damage": 450, "skill_name" : "暗香疏影", "damage_type": random(2)?"刺伤":"劈伤"]); } 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") < 20 || (int)me->query("neili") < 10 ) return notify_fail("你的内力或气不够,没有办法练习雪山剑法。\n"); me->receive_damage("qi", 15); me->add("neili", -5); write("你按著所学练了一遍雪山剑法。\n"); return 1;}string perform_action_file(string action){ return __DIR__"xueshan-sword/" + action;}mixed hit_ob(object me, object victim, int damage_bonus, int factor, string limb){ int level, jiali, time; object weapon; weapon = me->query_temp("weapon"); level = (int) me->query_skill("bingxue-xinfa",1); jiali = me->query("jiali");if (!me) return;if (!victim) return;if (!weapon) return;if (!level) return;if (!jiali) jiali=10; if( damage_bonus > 100 && random(level)>100 ) { victim->receive_wound("qi", random(jiali)); return HIR"只见$n$l上鲜血渗出,六点剑痕布成六角,已被"+weapon->name()+HIR"整整齐齐的刺了六点。\n"NOR; } if (random(level)>100 && random(5) >3 ) {victim->apply_condition("ill_shanghan",50);victim->apply_condition("iceshock",50); victim->apply_condition("cold_poison", (me->query_skill("bingxue-xinfa"))/10 + victim->query_condition("cold_poison"));return HIW "$n只觉得伤口一寒,一股寒气似冰箭一样的串进$n的全身。\n" NOR;}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -