收起左侧

[求助] 用科技给单位增加了溅射范围,出现友伤

[复制链接]
Jdw发表于 2023-8-21 23:49:31
就是在 techtreey.xml  添加了这样一段代码:
	    <!-- 增加近战单位,近战攻击范围伤害 -->
<Effect type ='Data' amount ='2' subtype ='DamageArea' action ='MeleeHandAttack' relativity ='Absolute'>
<Target type ='ProtoUnit'>Unit</Target></Effect>
<!-- 增加远程单位,远程攻击范围伤害 -->
<Effect type ='Data' amount ='2' subtype ='DamageArea' action ='VolleyRangedAttack' relativity ='Absolute'>
<Target type ='ProtoUnit'>Unit</Target></Effect>
<!-- 增加远程单位,分散模式范围伤害 -->
<Effect type ='Data' amount ='2' subtype ='DamageArea' action ='StaggerRangedAttack' relativity ='Absolute'>
<Target type ='ProtoUnit'>Unit</Target></Effect>

然后通过卡片的形式,在游戏里面使用。

然后游戏里面出现,很诡异的一幕,只要敌人和我部队贴脸,我部队就会被我自己的攻击溅射给弄死。

用科技给单位增加了溅射范围,出现友伤

用科技给单位增加了溅射范围,出现友伤

techtreey.xml 文件

用科技给单位增加了溅射范围,出现友伤

用科技给单位增加了溅射范围,出现友伤

这个溅射范围,能取消友伤吗?还是我添加的有问题?
こはね发表于 2023-8-22 00:16:41
可以先在protoy添加<DamageFlags>XXX</DamageFlags>>

攻击设定



























































		<ProtoAction> 


<ProtoAction>
<Name>XXXXX</Name>
<Damage>XXX</Damage>
<Accuracy>0.9900</Accuracy>
<DamageType>XXX</DamageType>
<MinRange>XXX</MinRange>
<MaxRange>XXX</MaxRange>
<ROF>XXX</ROF>
<DamageBonus type ='A'
>X.0000<DageBonus>
<DamageArea>XXX</DamageArea>
<DamageFlags>XXX</DamageFlags>
<DamageCap>XXX</DamageCap>
</ProtoAction>

			<Name>XXXXX</Name>
攻击名称

			<Damage>XXX</Damage>
单位攻击力

			<Accuracy>0.9900</Accuracy>
命中率,只能用于近战与弓箭攻击,火枪或炮弹的命中率会在tactics说到。

			<DamageType>XXX</DamageType>
攻击类型;有Hand、Ranged、Siege三种

			<MinRange>XXX</MinRange>
最小射程(例如是4,那么要距离敌方4才能攻击)

			<MaxRange>XXX</MaxRange>
最大射程

			<ROF>XXX</ROF>
攻击速率(数值越小,攻击速度越高)

			<DamageArea>XXX</DamageArea>
攻击的溅射伤害范围

			<DamageBonus type ='A'>X.0000<DageBonus>
对A造成X倍伤害,A为单位标签或者单位调用名。

			<DamageFlags>XXX</DamageFlags> 

范围伤害类型。
GAIAEnemy:只对大自然与敌人造成伤害。
Enemy:只对敌人造成伤害。
没有这句但有上面的<DamageArea>XXX</DamageArea>,那么会打伤自己人;
如果利用在黄坚的技能天火[power.xml定义可攻击类型为All]并且删除了<DamageFlags>XXX</DamageFlags>就可以用来打自己人了。



			<DamageCap>XXX</DamageCap>
带有范围伤害【<DamageArea>XXX</DamageArea>】能造成的最大伤害,如果要一次性摧毁敌人请删除这句。并把范围调高。

		</ProtoAction>

3.5版本补充: <DamageArea>XXX</DamageArea>范围伤害的范围不支持小数点,出现小数则向下取整,例如0.5≈01.9≈12.5≈2;即使在科技运算中,也是先将protoy定义的范围向下取整再运算科技加成,结算后会再次向下取整。例如2-0.5=1≠20.5+0.5=0≠10.5X2=0

PS:在2022年,决定版已修复无法出现小数点问题。
Jdw发表于 2023-8-22 15:39:34
蟹蟹大佬。

这个只能去 protoy.xml 文件里面每个单位,每种攻击方式,一个一个添加吗?
  • こはね : 是的,没错
  • Jdw 回复 こはね : 
跳转到