mrf 发表于 2021-7-11 11:54:46

如何复刻侧舷齐射技能

本帖最后由 mrf 于 2021-7-11 11:56 编辑

在护卫舰的protoy里,有一个关于侧舷齐射的定义:
    <protoaction>
      <name>BroadsideAttack</name>
      <damage>55.000000</damage>
      <damagetype>Siege</damagetype>
      <maxrange>38.000000</maxrange>
      <rof>0.050000</rof>
      <damagecap>80.000000</damagecap>
      <damagebonus type="Ship">2.000000</damagebonus>
      <damagearea>1.000000</damagearea>
      <damageflags>GAIAEnemy</damageflags>
    </protoaction>


这里的rof是0.05。
在tactics里面,rof变成了3:<action>
    <name stringid="38123">BroadsideAttack</name>
    <type>BroadsideAttack</type>
    <attackaction>1</attackaction>
    <rangedlogic>1</rangedlogic>
    <anim>Idle</anim>
    <idleanim>Idle</idleanim>
    <projectile>Cannonball</projectile>
    <numberprojectiles>1</numberprojectiles>
    <impacteffect>effects\impacts\cannon</impacteffect>
    <accuracy>1.0</accuracy>
    <maxheight>0</maxheight>
    <accuracyreductionfactor>0.01</accuracyreductionfactor>
    <aimbonus>5</aimbonus>
    <rof>3</rof>
    <rate type="All">1.0 </rate>
    <areasortmode>Directional</areasortmode>
    <targetground>1</targetground>
    <basedamagecap>1</basedamagecap>
</action>


在powers.xml中,是这样定义的:

<power name="PowerBroadside" type="UnitAction">
    <displaynameid>32910</displaynameid>
    <rolloverid>32911</rolloverid>
    <icon>resources\images\icons\command\mode_broadside.png</icon>
    <minimapeventtime sendalertto="player">1</minimapeventtime>
    <activetime>5</activetime>
    <radius>10.0</radius>
    <placement forceonmap="1" enemy="" allowgaia="">unit</placement>
    <abstractattacktargettype>LogicalTypeRangedUnitsAttack</abstractattacktargettype>
    <unitaction>BroadsideAttack</unitaction>
</power>

这里activetime是5,如果这代表着作用时间,那么侧舷齐射应该会发射5/0.05=100枚炮弹,但是这个显然是不现实的,伤害过于恐怖(55*100=5500,对船8000)。所以我想知道这里面的语句都是什么作用。
另外,在frigate.xml中,并没有任何开火声音的定义,那开炮时的声音又是怎么来的呀……我一看art文件就头疼……望大神不吝赐教{:7_265:}

こはね 发表于 2021-7-11 11:56:23

如果是作用到普通攻击,应该不可能

pdz38 发表于 2021-7-25 09:43:56

这与特定骨骼名称和主程序设定有关,
一般的侧伭船只,3次或6次攻击算一次完整的action,齐射技能就是调用一次该action,rof为0.05所以会以极短时间连射6发,完成这个action
你如果要给其他单位齐射技能,要确保有特定的骨骼,骨骼名见gallon等船只

pdz38 发表于 2021-7-25 09:54:37

建筑,船只的开火效果无需特殊设置,主程序有默认的,大概还是与特定骨骼有关

こはね 发表于 2021-7-25 18:13:08

pdz38 发表于 2021-7-25 09:54
建筑,船只的开火效果无需特殊设置,主程序有默认的,大概还是与特定骨骼有关 ...

跟骨骼有关应该没错,比如海贼帆船添加侧舷齐射后,只能开两炮
页: [1]
查看完整版本: 如何复刻侧舷齐射技能