找回密码
 点一下
查看: 4355|回复: 10

XML数据文件分析***CBehaviorBuff 解析(一)*** By寒心

[复制链接]
发表于 2010-4-8 16:40:42 | 显示全部楼层 |阅读模式
CBehaviorBuff,行为基础类中最重要的类之一,可实现的功能数不胜数,下面我们一起分析一下。
本期讲座分为多期,大家共同讨论,有不正的地方请指出。


【BehaviorBuff结构解析】



我这里只是做一个引导,希望大家能够自己测试以上属性的效果。

【已存在模板解析】
  1.     <CBehaviorBuff default="1" id="Detector">
  2.         <InfoTooltipPriority value="0"/>   <!-- 不显示BuffTip -->
  3.         <Modification DetectFilters="-;Missile"/>   <!-- 侦查过滤器 -->
  4.     </CBehaviorBuff>
复制代码
  1.     <CBehaviorBuff default="1" id="Radar">
  2.         <!-- 雷达过滤器 -->
  3.         <Modification RadarFilters="-;RawResource,HarvestableResource,Missile,Destructible,Buried,Cloaked"/>
  4.     </CBehaviorBuff>
复制代码
  1.     <CBehaviorBuff default="1" id="TimedLife">
  2.         <InfoFlags index="Hidden" value="1"/>   <!-- Buff图标隐藏 -->
  3.         <DurationRandomMax value="0.5"/>   <!-- Buff存活最大随机时间 -->
  4.         <DisplayCountdown index="Self" value="1"/>   <!-- Buff存活时间自身可见 -->
  5.         <DisplayCountdown index="Ally" value="1"/>   <!-- Buff存活时间盟友可见 -->
  6.         <ExpireEffect value="TimedLifeFate"/>   <!-- 到期效果 -->
  7.         <KillCredit Value="Caster"/>   <!-- 死亡对象自身 -->
  8.     </CBehaviorBuff>
复制代码
  1.     <!-- 生命存活时间自身、盟友可见 -->
  2.     <CBehaviorBuff id="PrivateTimedLife" parent="TimedLife"/>
复制代码
  1.     <!-- 共享生命存活时间 -->
  2.     <CBehaviorBuff id="PublicTimedLife" parent="TimedLife">
  3.         <DisplayCountdown index="Enemy" value="1"/>   <!-- 敌人可见 -->
  4.     </CBehaviorBuff>
复制代码
  1.     <CBehaviorBuff id="PermanentlyCloaked">
  2.         <Modification>
  3.             <StateFlags index="Cloak" value="1"/>   <!-- 隐身 -->
  4.         </Modification>
  5.         <InfoIcon value="Assets\Textures\btn-ability-terran-cloak.dds"/>
  6.     </CBehaviorBuff>
复制代码
  1.     <CBehaviorBuff id="Radar25" parent="Radar">   <!-- 25码雷达 -->
  2.         <Modification Radar="25"/>   <!-- 范围25 -->
  3.     </CBehaviorBuff>
复制代码
  1.     <CBehaviorBuff id="PermanentlyInvulnerable">  
  2.         <Modification>
  3.             <StateFlags index="Invulnerable" value="1"/>   <!-- 无敌 -->
  4.         </Modification>
  5.     </CBehaviorBuff>
复制代码
  1.     <CBehaviorBuff id="tauntb">   <!-- 嘲讽? -->
  2.         <Alignment value="Negative"/>   <!-- 负面效果(红色) -->
  3.         <Duration value="16.6667"/>   <!-- 持续时间16.67 -->
  4.         <Modification MoveSpeedMultiplier="2"/>   <!-- 移动速度*2 -->
  5.     </CBehaviorBuff>
复制代码
  1.     <CBehaviorBuff id="PermanentlyUncommandable">
  2.         <InfoFlags index="Hidden" value="1"/>   <!-- Buff效果隐藏 -->
  3.         <Modification>
  4.             <StateFlags index="Uncommandable" value="1"/>   <!-- 不可命令 -->
  5.         </Modification>
  6.     </CBehaviorBuff>
复制代码
  1.     <CBehaviorBuff id="PermanentShareVision">
  2.         <InfoFlags index="Hidden" value="1"/>
  3.         <MaxStackCount value="0"/>   <!--  -->
  4.         <Modification>
  5.             <ModifyFlags index="ShareSight" value="1"/>   <!-- 共享视野 -->
  6.         </Modification>
  7.     </CBehaviorBuff>
复制代码
  1.     <CBehaviorBuff id="PermanentSuppressFoodUsed">
  2.         <InfoFlags index="Hidden" value="1"/>
  3.         <Modification>
  4.             <StateFlags index="SuppressFoodUsed" value="1"/>   <!-- 禁止使用人口 -->
  5.         </Modification>
  6.     </CBehaviorBuff>
复制代码
  1.     <CBehaviorBuff id="DamageTakenMinimal">
  2.         <InfoFlags index="Hidden" value="1"/>
  3.         <DamageResponse Chance="1" ModifyFraction="0.1"/>   <!-- 获得伤害*0.1 -->
  4.     </CBehaviorBuff>
复制代码
  1.     <CBehaviorBuff id="DamageTakenNone">
  2.         <InfoFlags index="Hidden" value="1"/>
  3.         <DamageResponse Chance="1" ModifyFraction="0"/>   <!-- 获得伤害无效 -->
  4.     </CBehaviorBuff>
复制代码
  1.     <CBehaviorBuff id="DamageTakenMega">
  2.         <InfoFlags index="Hidden" value="1"/>
  3.         <DamageResponse Chance="1" ModifyFraction="3"/>   <!-- 获得伤害*3 -->
  4.     </CBehaviorBuff>
复制代码
  1.     <CBehaviorBuff id="DamageDealtMinimal">
  2.         <InfoFlags index="Hidden" value="1"/>
  3.         <Modification>
  4.             <DamageDealtFraction index="Spell" value="-0.9"/>   <!-- 魔法伤害吸收90%? -->
  5.             <DamageDealtFraction index="Melee" value="-0.9"/>   <!-- 近战伤害吸收90%? -->
  6.             <DamageDealtFraction index="Ranged" value="-0.9"/>   <!-- 远程伤害吸收90%? -->
  7.             <DamageDealtFraction index="Splash" value="-0.9"/>   <!-- 溅射伤害吸收90%? -->
  8.         </Modification>
  9.     </CBehaviorBuff>
复制代码
  1.     <CBehaviorBuff id="DamageDealtNone">
  2.         <InfoFlags index="Hidden" value="1"/>
  3.         <Modification>
  4.             <DamageDealtMaximum index="Spell" value="-1"/>   <!-- 魔法伤害无效 -->
  5.             <DamageDealtMaximum index="Melee" value="-1"/>   <!-- 近战伤害无效 -->
  6.             <DamageDealtMaximum index="Ranged" value="-1"/>   <!-- 远程伤害无效 -->
  7.             <DamageDealtMaximum index="Splash" value="-1"/>   <!-- 溅射伤害无效 -->
  8.         </Modification>
  9.     </CBehaviorBuff>
复制代码
  1.     <CBehaviorBuff id="DamageDealtMega">
  2.         <InfoFlags index="Hidden" value="1"/>
  3.         <Modification>
  4.             <DamageDealtFraction index="Spell" value="3"/>   <!-- 魔法伤害3倍 -->
  5.             <DamageDealtFraction index="Melee" value="3"/>   <!-- 近战伤害3倍 -->
  6.             <DamageDealtFraction index="Ranged" value="3"/>   <!-- 远程伤害3倍 -->
  7.             <DamageDealtFraction index="Splash" value="3"/>   <!-- 溅射伤害3倍 -->
  8.         </Modification>
  9.     </CBehaviorBuff>
复制代码
  1.     <CBehaviorBuff id="Precursor">
  2.         <InfoFlags index="Hidden" value="1"/>
  3.         <Modification>
  4.             <ModifyFlags index="DisableAbils" value="1"/>   <!-- 技能无效 -->
  5.             <ModifyFlags index="SuppressMoving" value="1"/>   <!-- 禁止移动 -->
  6.             <ModifyFlags index="SuppressTurning" value="1"/>   <!-- 禁止旋转 -->
  7.             <StateFlags index="NoDraw" value="1"/>   <!-- 不可拖拽 -->
  8.             <StateFlags index="Uncommandable" value="1"/>   <!-- 不可命令 -->
  9.             <StateFlags index="Unselectable" value="1"/>   <!-- 不可选择 -->
  10.             <StateFlags index="Untargetable" value="1"/>   <!-- 不可作为目标 -->
  11.             <StateFlags index="Invulnerable" value="1"/>   <!-- 无敌 -->
  12.         </Modification>
  13.     </CBehaviorBuff>
复制代码
  1.     <CBehaviorBuff id="DeathOffCreep">
  2.         <InfoFlags index="Hidden" value="1"/>
  3.         <DisableValidatorArray value="NotOnCreep"/>   <!-- 是否离开菌毯? -->
  4.         <PeriodicEffect value="suicide"/>   <!-- 自杀 -->
  5.     </CBehaviorBuff>
复制代码
【实例分析】
更新中...

【设计提案】
更新中...

评分

参与人数 1威望 +3 收起 理由
Renee + 3 很不错

查看全部评分

 楼主| 发表于 2010-4-8 16:45:36 | 显示全部楼层
原帖大家可以看看
http://www.sc2mod.net/viewthread ... =1&extra=#pid33

网站还没有开始运营,下周应该会起来。

有什么不正确的地方,大家一起讨论吧~。~
回复

使用道具 举报

发表于 2010-4-8 17:07:18 | 显示全部楼层
写的很好,不过你那张图片是怎么回事?测视力用?
回复

使用道具 举报

 楼主| 发表于 2010-4-8 17:10:40 | 显示全部楼层
应该可以了呢^_^
回复

使用道具 举报

发表于 2010-4-8 17:33:24 | 显示全部楼层
对于那个表提一些补充:

TimeScaleSource是说TimeScale的计算基准。这个TimeScale不是可以改变单个单位的时间流逝比率么,所以这个TimeScaleSource就是说以哪个单位的当前流逝速度为基准,如果是Global就是以环境时间为准了。


VitalMaxArray说的是他们的最大值,比如生命最大值魔法最大值。

FinalEffect的话,不论Buff是怎么消失都会触发,和ExpireEffect不同。

Player属性弄错了,其实这个Player属性就是目标单位的所属玩家。我知道这个属性放在这里很奇怪,很不符合规律,但事实就是如此。这个属性是拿来改变单位所属玩家的,Buff消失后恢复原有玩家。可以拿来做心灵控制效果。

Period和PeriodCount是用来触发周期性效果的,和验证无关系吧。就算没有这个东西它也会不断验证的。



你的表格方式很不错,今后我也考虑用表格方式来介绍属性了。
回复

使用道具 举报

发表于 2010-4-8 17:51:57 | 显示全部楼层
很高深啊。。。不过慢慢来~
回复

使用道具 举报

 楼主| 发表于 2010-4-8 17:58:24 | 显示全部楼层
引用第4楼Renee于2010-04-08 17:33发表的  :
对于那个表提一些补充:

TimeScaleSource是说TimeScale的计算基准。这个TimeScale不是可以改变单个单位的时间流逝比率么,所以这个TimeScaleSource就是说以哪个单位的当前流逝速度为基准,如果是Global就是以环境时间为准了。

这个我理解错了....
Player属性弄错了,其实这个Player属性就是目标单位的所属玩家。我知道这个属性放在这里很奇怪,很不符合规律,但事实就是如此。这个属性是拿来改变单位所属玩家的,Buff消失后恢复原有玩家。可以拿来做心灵控制效果。
我想说的也是这个意思...没写清楚,可以用这个属性配合区域验证器来实现激活我放兵种的效果。

如:
我方兵种被某个Debuff(利用这个属性)成为了中立,而删除验证器条件为=周围没有我方兵种。
那么英雄或者其他兵种接近时时DeBuff就会被删除了,从而恢复我放控制权。
Period和PeriodCount是用来触发周期性效果的,和验证无关系吧。就算没有这个东西它也会不断验证的。
这2个属性的描述我用词不当,我的理解他们实际就是触发周期性效果的次数和周期时间,两者乘积即是周期时间总和。

晚上回去修正,要下班了没时间了- -#
回复

使用道具 举报

发表于 2010-4-8 22:35:58 | 显示全部楼层
....很不错…………可以做cookbook。。。
回复

使用道具 举报

发表于 2010-4-8 23:34:16 | 显示全部楼层
表格确实很美观呀,期待将来可以有EXCEL格式的下载,图片的话修改起来有点不方便吧。
回复

使用道具 举报

发表于 2010-4-11 10:59:45 | 显示全部楼层
这些具体分析对于不精通程序的孩子来说很有爱
回复

使用道具 举报

发表于 2010-4-11 11:11:23 | 显示全部楼层
啊 竟然忘记把这帖丢上主页了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-23 20:27 , Processed in 0.186398 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表