技能为什么会在500级爆掉,哪位大神指点下
mud吧
全部回复
仅看楼主
level 1
//疾风魔狼刀
#include <ansi.h>
#include <combat.h>
inherit SSERVER;
int perform(object me, object target)
{
string msg;
int extra;
int addon, tmp, atk;
object weapon;
extra = me->query_skill("tianlang-blade",1);
if ( extra < 150) return notify_fail("你的天狼夜魔刀还不够纯熟!\n");
addon = me->query_skill("shouya-force",1);
tmp= me->query_skill("force",1);
if ( addon < 120 )return notify_fail("你的兽牙魔经还不够纯熟!\n");
if ((int)me->query("force")<1000)
return notify_fail("你的内力不足了。\n");
if(me->query("family/family_name") != "天空界")
return notify_fail("你省省好了。\n");
if( !target ) target = offensive_target(me);
if( !target
|| !target->is_character()
|| !me->is_fighting(target) )
return notify_fail("没事别乱用疾风魔狼刀。\n");
atk = (addon+tmp)/2;
me->add_temp("apply/attack",atk);
me->add_temp("apply/damage",extra);
weapon = me->query_temp("weapon");
message_vision(HIW"\n$N神气贯通,将兽牙魔经运转成熟,身体急旋施展出疾风魔狼刀的绝技!\n "NOR, me,target);
message_vision(HIC"刀光犹如狂风暴雨般砸向$n\n"NOR,me,target);
COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);
COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);
COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);
COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);
message_vision(HIM"$N在暴风雨般的刀光中飘摇不定,最后$n聚万道刀光和一迅捷无比的砍向$N!!!\n"NOR,target,me);
COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);
me->add_temp("apply/attack",-atk);
me->add_temp("apply/damage",-extra);
me->add("force",-500);
me->start_busy(random(2));
return 1;
}
2023年11月29日 05点11分 1
level 7
看看tianlang-blade.c文件
2023年11月29日 06点11分 2
level 1
//tianlang-blade.c 【天狼夜魔刀】icejia 2001
#include <ansi.h>
inherit SKILL;
mapping *action = ({
([ "name": "无",
"action":
"$N轻抚手中的$w,$w上拢上了一层淡淡的紫气。
一道沁人心骨的寒气已然袭上了$n的$l",
"dodge": 0,
"parry": 10,
"damage": 35,
"damage_type": "割伤"
]),
([ "name": "无",
"action":
"只见$N右手树握$w,左手食指无名指按住刀脊,一道刀光直冲天际。
在$n发愣只时,$w已经滑到了$n的$l",
"dodge": 0,
"parry": 0,
"damage": 50,
"damage_type": "劈伤"
]),
([ "name": "无",
"action":
"$N突然后退一步,刀人和一直冲向$n的$l",
"dodge": 10,
"parry": -15,
"damage": 50,
"damage_type": "劈伤"
]),
([ "name": "无",
"action":
"$N向前迈出数步。一个翻身,刀从上往下划下。
淡淡紫色的刀光封住了$n的头脸,切断了$n的呼吸",
"dodge": 5,
"parry": 10,
"damage": 40,
"damage_type": "割伤"
]),
([ "name": "无",
"action":
"只见$N一声冷笑,口念佛咒,刀式一缓
$n似乎动作也凝滞了,看着$w劈向自己的$l,却也动弹不得。",
"dodge": -15,
"parry": 0,
"damage": 50,
"damage_type": "劈伤"
]),
([ "name": "无",
"action":
"$N刀势突然变快,紫光大胜直冲向$n的$l
$n的心头一紧,粹不及防,愣在那里。",
"dodge": 0,
"parry": 10,
"damage": 40,
"damage_type": "刺伤"
]),
([ "name": "无",
"action":
"$N心中魔念一闪。向前跨出两步,一刀劈向$n,
虽然是简单的一刀,可怕的刀势却包含了浓重的魔气,$n似乎已经没有退路",
"dodge": 0,
"parry": 0,
"damage": 80,
"damage_type": "劈伤"
]),
});
int valid_learn(object me)
{
object ob;
if( (int)me->query("max_force") < 50 )
return notify_fail("你的内力修为不够深,学了也没用。\n");
if (!(ob = me->query_temp("weapon"))
|| (string)ob->query("skill_type") != "blade" )
return notify_fail("你必须先找一把刀才能练习刀法。\n");
return 1;
}
int practice_skill(object me)
{
int dod=(int)me->query_skill("dodge");
int swo=(int)me->query_skill("tianlang-blade");
if (dod<swo/2)
return notify_fail("你的身法跟不上剑法,练下去很可能会伤到自己。\n");
if ((int)me->query("kee") < 30)
return notify_fail("你体质欠佳,强练夜魔刀有害无益。\n");
if ((int)me->query("force") < 5)
return notify_fail("你内力不足,强练夜魔刀有走火入魔的危险。\n");
me->receive_damage("kee", 30);
me->add("force", -5);
message_vision("$N默默回忆了一会儿,然后练了一遍夜魔刀。\n", me);
return 1;
}
int valid_enable(string usage)
{
return usage=="blade"||usage=="parry";
}
mapping query_action(object me, object weapon)
{
return action[random(sizeof(action))];
}
mixed hit_ob(object me, object victim)
{
string msg;
int ap,dp;
object weapon;
ap = me->query_skill("blade");
ap += (me->query_str())*2;
dp = victim->query_skill("parry");
weapon = victim->query_temp("weapon");
if(objectp(weapon) && me->query_skill("blade")>100){
if( random(ap+dp) > dp && random(2)>0){
if(me->query("force") > random(victim->query("force"))){
if(weapon->query("rigidity") >=4 ){
victim->start_busy(2);
weapon->move(environment(victim));
victim->receive_damage("kee", ap);
victim->receive_wound("kee", ap/2);
msg = MAG"只听“铛”的一声,$n手中的$w已被你挑飞。$n也被你的魔气所伤。\n"NOR ;
msg = replace_string(msg, "$w", weapon->name());
}
else{
victim->start_busy(1);
msg = MAG"$N念动真言:“噫嘛啦萨!!”只听“啪”的一声响,$n手中$w已被你震成两段。\n"NOR ;
msg = replace_string(msg, "$w", weapon->name());
weapon->unequip();
weapon->move(environment(victim));
weapon->set("name", "断掉的"+weapon->query("name"));
weapon->set("value", 0);
weapon->delete("long");
weapon->set("weapon_prop", 0);
}
}
else {
msg = HIM"只听“嗡”地一声大响,$n手中的$w在无形霸气的冲击下不住颤抖,险些脱手!\n"NOR ;
msg = replace_string(msg, "$w", weapon->name());
}
}
return msg;
}
}
string perform_action_file(string action)
{
return CLASS_D("tiankongjie") + "/tianlang-blade/" + action;
}
2023年11月29日 16点11分 3
level 5
爆掉指的是什么
2023年11月30日 00点11分 4
level 1
放技能后,没有招数出来,原来可以出4-5招,现在一招都没,直接没显示那种
2023年11月30日 07点11分 5
吧务
level 9
你这是缺了个输出文字的函数在最后放一下不放怎么显示文字
2023年12月02日 01点12分 6
1