7-7 临时性科技 | 单位光环




在帝国3制作临时效果科技,例如士兵在1分钟内增加20%生命值,30秒内增加移动速度、攻击力、视野、采集效率等功能都是可以实现的。虽然帝国3没有定义科技持续时间这个功能,但是不代表不能实现,只要换个思维去思考就可以达成了。

方法:运送一个隐身单位单位,然后给这个单位设定类型为air,视野为0,增加光环,增加<Flag>NotSelectable</Flag>不可选取、<Flag>Invulnerable</Flag>不可受到伤害、<Flag>DoNotShowOnMiniMap</Flag>在小地图不显示这个单位等属性,最后用Lifespan让其自动死亡。

  protoy.xml - 记事本 __ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
	<Unit id="0" name="test4567">
<DBID>20</DBID>
<ObstructionRadiusX>0.1000</ObstructionRadiusX>
<ObstructionRadiusZ>0.1000</ObstructionRadiusZ>
<MaxVelocity>0.0000</MaxVelocity>
<MovementType>air</MovementType>
<AnimFile>effects\projectiles\musket_ball.xml</AnimFile>
<Lifespan>60.0000</Lifespan>
<LOS>0.0000</LOS>
<UnitType>EmbellishmentClass</UnitType>
<Flag>NotSelectable</Flag>
<Flag>Invulnerable</Flag>
<Flag>DoNotShowOnMiniMap</Flag>
<Tactics>test4567.tactics</Tactics>
</Unit>


这个是速度光环:范围1024为全屏(地图大小最大为1024)
  test4567.tactics - 记事本 __ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)
<?xml version="1.0" encoding="utf-8"?>
<tactics>
<action>
<name>Bonus</name>
<type>AutoRangedModify</type>
<modifyabstracttype>Unit</modifyabstracttype>
<active>1</active>
<maxrange>1024</maxrange>
<persistent>1</persistent>
<modifytype>Speed</modifytype>
<modifymultiplier>1.25</modifymultiplier>
<targetenemy>0</targetenemy>
<modifyexclusive>1</modifyexclusive>
</action>
<tactic>
Normal
<action>Bonus</action>
</tactic>
</tactics>




这个是卡片模板:
  techtreey.xml - 记事本 __ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)

<Tech name ='DIYCard' type ='Normal'>
<Displaynameid>08001</Displaynameid>
<DBID>5271</DBID>
<Status>OBTAINABLE</Status>
<Icon>TEST\1234</Icon>
<ResearchPoints>0.0000</ResearchPoints>
<RolloverTextID>08002</RolloverTextID>
<Flag>HomeCity</Flag>
<Effects>
<Effect type="Data" amount="1.00" subtype="FreeHomeCityUnit" unittype="test4567" relativity="Absolute">
<Target type="Player"/>
</Effect>
</Effects>
</Tech>

如果是科技,不是船运,那么还应该给那个科技添加<Flag>CheckLandHCGatherPoint</Flag>检测是否有主城集结点,以防在没有主城集结点的时候误点。
  techtreey.xml - 记事本 __ X
文件(F)  编辑(E)  格式(O)  查看(V)  帮助(H)

<Tech name ='DIYTech' type ='Normal'>
<Displaynameid>08001</Displaynameid>
<DBID>5271</DBID>
<Status>OBTAINABLE</Status>
<Icon>TEST\1234</Icon>
<ResearchPoints>0.0000</ResearchPoints>
<RolloverTextID>08002</RolloverTextID>
<Flag>CheckLandHCGatherPoint</Flag>
<Effects>
<Effect type="Data" amount="1.00" subtype="FreeHomeCityUnit" unittype="test4567" relativity="Absolute">
<Target type="Player"/>
</Effect>
</Effects>
</Tech>

补充:注意下<Status>OBTAINABLE</Status>,这是给所有玩家都启用了这个科技,如果不想给所有玩家启用请改为<Status>UNOBTAINABLE</Status>,然后自行在age0xxxxxx启用科技。