文字MUD游戏论坛-天下泥潭群英会-水泊梁山

文字MUD游戏论坛-天下泥潭群英会-水泊梁山 (http://www.aolai.org/forums/)
-   『 梁山论剑 』 (http://www.aolai.org/forums/f3/)
-   -   cast lianhua (http://www.aolai.org/forums/t16176/)

Odysseus 2011-12-16 17:33

cast lianhua源码分析(原创)
 
50级的buddhism cast lianhua和100级的cast lianhua效果有区别吗?谁有源码分析一下呀.
自己分析了。如下:

int cast(object me)
{
int skill;
me=this_player();


if( (int)me->query_skill("buddhism", 1) < 50 )
return notify_fail("你的大乘佛法等级不够。\n"); if( (int)me->query("mana") < 300 )
return notify_fail("你的法力不够。\n");
if( (int)me->query("kee") < 300 )
return notify_fail("你的气血不足。\n");
if( (int)me->query("sen") < 300 )
return notify_fail("你的精神不足。\n");//cat lianhua大乘等级至少要
50级,法力300以上,气血300以上,精神300以上。
if( (int)me->query_temp("anti_magic") )
return notify_fail("你已经在运功中了。\n");

skill = me->query_skill("spells");//法术有效登记

me->add("mana", -100);
me->receive_damage("kee", 30);
me->receive_damage("sen", 30);//施法费法力100,气血30,精神30

message_vision(
HIC"$N微一凝神,背后幻出一朵白莲,五色毫光闪现。\n" NOR, me);

me->set_temp("anti_magic", skill);//抗魔法系数=法术有效等级

me->start_call_out( (: call_other, __FILE__, "remove_effect", me, skill/3 :), skill);

if( me->is_fighting() ) me->start_busy(3);//如果在战斗中自己busy 3秒。

return 1;
}

void remove_effect(object me, int amount)
{
me->delete_temp("anti_magic");
tell_object(me, "你身后的白莲渐渐隐去了。\n");
return;
}

*************
if( victim->query_temp("anti_magic") )
{
adjust=(int)victim->query_temp("anti_magic");//抗魔法系数

if( (int)victim->query("mana") < adjust)
success=0;//法力小于抗魔法系数则失败
else
success=1;//否则成功

if( success )
{
victim->add("mana", -adjust);//成功后减法力值=抗魔法系数
damage_qi=damage_qi - adjust/2;
damage_shen=damage_shen - adjust/2;//收到的伤害气血和精神各减抗魔法系数/2
if ( damage_qi > 0 || damage_shen > 0 )
message_vision("\n只见$N身后幻出千朵白莲,挡住了$n的攻势。\n", victim, winner); //抵挡住一些伤害
else
message_vision("\n只见$N身后幻出千朵白莲,将$n的攻势尽数化解。\n", victim, winner); //毫发无伤
}
}

综上,因为抗魔法系数=法术有效等级,提高buddhism的有效等级是化解法术伤害的关键参数。

bogao 2012-04-24 04:20

回复: cast lianhua
 
挺好,为啥没人回复这技术贴呢。

Odysseus 2013-09-10 11:38

回复: cast lianhua
 
引用:

作者: bogao (帖子 112941)
挺好,为啥没人回复这技术贴呢。

给加点声望吧:em12:

zhangj 2013-09-11 09:29

回复: cast lianhua
 
加了声望!:em25::em25:

tanlw 2013-09-12 15:48

回复: cast lianhua
 
太复杂了,看不懂。。。新人只需要结果


所有时间均为格林尼治时间 +9, 现在的时间是 00:34.

Powered by SPLS
版权所有 2001-2023 水泊梁山
皖ICP备05012024号

站长 fengyue


Content Relevant URLs by vBSEO 3.6.1