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

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

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

protoy.xml - 记事本
	<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 - 记事本
<?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 - 记事本
	<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>检测是否有主城集结点,以防在没有主城集结点的时候误点。
protoy.xml - 记事本
	<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启用科技。