- 积分
- 34677
- 威望
- 499
- 魅力
- 507
- 经验
- 20326
- 热心度
- 9
- 注册时间
- 2006-3-13
- 最后登录
- 2024-9-30
- 主题
- 134
- 回帖
- 4949
- 精华
- 35
- 阅读权限
- 150
TA的每日心情 | 郁闷 2015-6-6 16:12 |
---|
签到天数: 52 天 连续签到: 1 天 [LV.5]女巫
超级版主
- 积分
- 34677
|
发表于 2012-11-26 09:08:24
|
显示全部楼层
先弄明白一个问题.
当你的英雄施法后,有个基本的魔法伤害值.但这个魔法作用到生物上时,有可能被生物特性之类削弱了魔法伤害值.
于是有两个数值,一个是基本魔法伤害值,一个是系统计算完生物应受的伤害值.(不考虑矮人抗魔过程)
- !?MR0 is called (M,S,D,F[=D]);
- WoG calculates a standard resistance correction (S,M, D->F);
- !?MR1 is called (M,S,D,F);
意思就是,在!?MR0 和 !?MR1触发器之间的正是系统计算最后生物所受伤害值的过程.
SMDF这些字母意思可参照 !!MR接收器的介绍.
-----------------------------------------------------------------
这里先不考虑矮人类抗魔.
!?MR0 触发器中, 因为系统还没计算最终伤害值F,检测 D和F是一样的.
!?MR1 触发器中,设置了 D,其实也没啥作用,因为系统已经计算了最终伤害值F.
------------------------------------------------------------------
所以要改变魔法伤害值,一般是在 !?MR0中进行.
比如 先检测原伤害值 !!MR:D?x1;
再根据你的增减方式计算一个伤害值 !!VRx1:*10; [10倍伤害]
最后重设基础伤害值 !!MR:Dx1;
--------------------------------------------------------------------------
还有一个问题,不要忘了类似矮人那种魔法抵抗力.
而!?MR2; 就是在系统计算这种抗魔时触发的.
上面的例子
!?MR2;
!!MR:F0; all creatures are completely immune to all
就是说在系统计算矮人类抗魔前,将最终魔法伤害值都改为0了
自然所有生物都没有受到魔法伤害了.
---------------------------------------------------------------------------------------------------
我对这个触发器了解不是太深, 希望有经验者补充一下.
[ 本帖最后由 贤知有您 于 2012-11-26 09:10 编辑 ] |
|