protoy.xml
<Unit id='1463' name='WarTreasureShip'> <DBID>2142</DBID> <DisplayNameID>00001</DisplayNameID> <EditorNameID>00002</EditorNameID> <ObstructionRadiusX>6.3000</ObstructionRadiusX> <ObstructionRadiusZ>6.3000</ObstructionRadiusZ> <FormationCategory>Ranged</FormationCategory> <MaxVelocity>7.00000</MaxVelocity> <MaxRunVelocity>9.00000</MaxRunVelocity> <MovementType>water</MovementType> <TurnRate>4.0000</TurnRate> <AnimFile>Mods\WarTreasureShip.xml</AnimFile> <ImpactType>Wood</ImpactType> <PhysicsInfo>house</PhysicsInfo> <Icon>units\asians\spc\treasure_ship\china_ship_icon_portrait</Icon> <PortraitIcon>units\asians\spc\treasure_ship\china_ship_icon_portrait</PortraitIcon> <RolloverTextID>00003</RolloverTextID> <ShortRolloverTextID>00004</ShortRolloverTextID> <InitialHitpoints>6000.0000</InitialHitpoints> <MaxHitpoints>6000.0000</MaxHitpoints> <LOS>50.0000</LOS> <ProjectileProtoUnit>Cannonball</ProjectileProtoUnit> <UnitAIType>RangedCombative</UnitAIType> <TrainPoints>60.0000</TrainPoints> <BuildLimit>1</BuildLimit> <Bounty>320.0000</Bounty> <BuildBounty>320.0000</BuildBounty> <Cost resourcetype='Wood'>1200.0000</Cost> <Cost resourcetype='Gold'>2000.0000</Cost> <MaxContained>100</MaxContained> <AllowedAge>2</AllowedAge> <Armor type='Ranged' value='0.7500'/> <UnitType>LogicalTypeNavalMilitary</UnitType> <UnitType>LogicalTypeValidSabotage</UnitType> <UnitType>LogicalTypeNeededForVictory</UnitType> <UnitType>LogicalTypeHandUnitsAutoAttack</UnitType> <UnitType>LogicalTypeValidSPCUnitsDeadCondition</UnitType> <UnitType>LogicalTypeRangedUnitsAutoAttack</UnitType> <UnitType>LogicalTypeVillagersAttack</UnitType> <UnitType>LogicalTypeHandUnitsAttack</UnitType> <UnitType>LogicalTypeShipsAndBuildings</UnitType> <UnitType>LogicalTypeRangedUnitsAttack</UnitType> <UnitType>LogicalTypeMinimapFilterMilitary</UnitType> <UnitType>Ship</UnitType> <UnitType>Transport</UnitType> <UnitType>Unit</UnitType> <UnitType>Military</UnitType> <UnitType>UnitClass</UnitType> <UnitType>HasBountyValue</UnitType> <UnitType>AbstractShrine</UnitType> <UnitType>Ranged</UnitType> <UnitType>CountsTowardMilitaryScore</UnitType> <UnitType>AbstractWarShip</UnitType> <Flag>TieToWaterSurface</Flag> <Flag>CollidesWithProjectiles</Flag> <Flag>DontRotateObstruction</Flag> <Flag>ApplyHandicapTraining</Flag> <Flag>NavalUnit</Flag> <Flag>DecalStickToWaterSurface</Flag> <Flag>NoFadeOnDeath</Flag> <Flag>FadeOutDecalOnDeath</Flag> <Flag>NoBloodOnDeath</Flag> <Flag>HeroName1</Flag> <Flag>HasGatherPoint</Flag> <Flag>AllowAutoGarrison</Flag> <Flag>ObscuresUnits</Flag> <Flag>ForceBuildingData</Flag> <Flag>NonAutoFormedUnit</Flag> <Flag>ShowGarrisonButton</Flag> <Flag>Tracked</Flag> <Train row ='0' page ='0' column ='1'>ypWokouArmy</Train> <Train row ='0' page ='0' column ='2'>ypMandarinArmy</Train> <Contain>LogicalTypeGarrisonInShips</Contain> <Contain>ypFishingBoatAsian</Contain> <Command page='10' column='1'>Eject</Command> <Command page='10' column='2'>Stop</Command> <Command page='10' column='3'>Delete</Command> <Command page='10' column='0'>SetGatherPointMilitary</Command> <Command page ='9' column ='2'>TreasureShipCoin</Command> <Command page ='9' column ='0'>TreasureShipFood</Command> <Command page ='9' column ='1'>TreasureShipWood</Command> <Command page='11' column='3'>Abilities</Command> <Tactics>WarTreasureShip.tactics</Tactics> <ProtoAction> <Name>BroadsideAttack</Name> <Damage>100.000000</Damage> <DamageType>Siege</DamageType> <MaxRange>35.000000</MaxRange> <ROF>0.050000</ROF> <DamageCap>180.000000</DamageCap> <DamageBonus type='Ship'>3.000000</DamageBonus> <DamageArea>1.000000</DamageArea> </ProtoAction> <ProtoAction> <Name>RangedAttack</Name> <Damage>120.000000</Damage> <DamageType>Siege</DamageType> <MaxRange>35.000000</MaxRange> <ROF>1.000000</ROF> <DamageCap>300.000000</DamageCap> <DamageBonus type='Building'>2.000000</DamageBonus> <DamageBonus type='AbstractArtillery'>2.000000</DamageBonus> <DamageArea>1.000000</DamageArea> <DamageBonus type='Ship'>1.500000</DamageBonus> </ProtoAction> <ProtoAction> <Name>LongRangeAttack</Name> <Damage>300.000000</Damage> <DamageType>Siege</DamageType> <MaxRange>45.000000</MaxRange> <ROF>2.000000</ROF> <DamageCap>400.000000</DamageCap> <DamageBonus type ='Building'>10.000000</DamageBonus> <DamageArea>10.000000</DamageArea> </ProtoAction> </Unit>
<AnimFile>Mods\WarTreasureShip.xml</AnimFile>
<?xml version='1.0' encoding='utf-8'?>
<animfile> <definebone>bone_muzzlel01</definebone> <definebone>bone_muzzlel02</definebone> <definebone>bone_muzzlel03</definebone> <definebone>bone_muzzlel04</definebone> <definebone>bone_muzzlel05</definebone> <definebone>bone_muzzler01</definebone> <definebone>bone_muzzler02</definebone> <definebone>bone_muzzler03</definebone> <definebone>bone_muzzler04</definebone> <definebone>bone_muzzler05</definebone> <definebone>bone_debris_1a</definebone> <definebone>bone_debris_1b</definebone> <definebone>bone_debris_1c</definebone> <definebone>bone_debris_2a</definebone> <definebone>bone_debris_2b</definebone> <definebone>bone_debris_2c</definebone> <definebone>bone_debris_3a</definebone> <definebone>bone_debris_3b</definebone> <definebone>bone_debris_3c</definebone> <definebone>bone_debris_4a</definebone> <definebone>bone_debris_4b</definebone> <definebone>bone_debris_4c</definebone> <definebone>bone_debris_5a</definebone> <definebone>bone_debris_5b</definebone> <definebone>bone_debris_6a</definebone> <definebone>bone_debris_6b</definebone> <definebone>bone_debris_6c</definebone> <definebone>bone_master</definebone> <definebone>bone_debris_7a</definebone> <definebone>bone_debris_7b</definebone> <definebone>bone_debris_7c</definebone> <definebone>bone_debris_7d</definebone> <definebone>bone_garrisonflag</definebone> <attachment> attachment_boat_ripple <component> boat_ripple <assetreference type='ParticleSystem'> <file>units\naval\galleon\galleon_idle_ripple.particle</file> </assetreference> </component> <anim> Idle <component>boat_ripple</component> </anim> </attachment> <attachment> attachment_wake_splash <component> wake_splash <assetreference type='ParticleSystem'> <file>units\naval\galleon\galleon_wakefoam_large.particle</file> </assetreference> </component> <anim> Idle <component>wake_splash</component> </anim> </attachment> <attachment> attachment_wake_front_splash <component> wake_front_splash <assetreference type='ParticleSystem'> <file>units\naval\galleon\galleon_wake_front.particle</file> </assetreference> </component> <anim> Idle <component>wake_front_splash</component> </anim> </attachment> <attachment> DeathWaterFoam <component> foam <assetreference type='ParticleSystem'> <file>effects\water_effects\shp_dest_foamRing.particle</file> </assetreference> </component> <anim> None <component>foam</component> </anim> </attachment> <attachment> DeathWaterSpray2 <component> spray2 <assetreference type='ParticleSystem'> <file>effects\water_effects\shp_dest_foamSpray.particle</file> </assetreference> </component> <anim> None <component>spray2</component> </anim> </attachment> <attachment> DeathWaterSteam <component> steam <assetreference type='ParticleSystem'> <file>effects\water_effects\shp_dest_foamSteam.particle</file> </assetreference> </component> <anim> None <component>steam</component> </anim> </attachment> <attachment> DeathWaterFade <component> fade <assetreference type='ParticleSystem'> <file>effects\water_effects\shp_dest_foamFade.particle</file> </assetreference> </component> <anim> None <component>fade</component> </anim> </attachment> <attachment> DeathWaterRipple <component> ripple <assetreference type='ParticleSystem'> <file>effects\water_effects\shp_dest_shockwave.particle</file> </assetreference> </component> <anim> None <component>ripple</component> </anim> </attachment> <component> Frigate <logic type='LowPoly'> <normal> <logic type='Destruction'> <p1> <assetreference type='GrannyModel'> <file>units\asians\spc\treasure_ship\spc_treasure_boat_dmg</file> </assetreference> </p1> <p99> <assetreference type='GrannyModel'> <file>units\asians\spc\treasure_ship\spc_treasure_ship_stage_final</file> </assetreference> </p99> </logic> </normal> <lowpoly> <assetreference type='GrannyModel'> <file>units\asians\spc\treasure_ship\spc_treasure_ship_stage_final</file> </assetreference> </lowpoly> </logic> <decal> <effecttype>default</effecttype> <selectedtexture>shadows_selections\selection_oval_64x128</selectedtexture> <width>12.00</width> <height>20.00</height> </decal> <watersplash> <texture>units\naval\colony_ship\colony_ship_hullmask</texture> <width>10.0</width> <height>10.0</height> </watersplash> </component> <component> Death <assetreference type='GrannyModel'> <file>units\asians\spc\treasure_ship\spc_treasure_ship_final_death</file> </assetreference> <decal> <effecttype>default</effecttype> <selectedtexture>shadows_selections\selection_oval_64x128</selectedtexture> <width>12.00</width> <height>20.00</height> </decal> <watersplash> <texture>units\naval\colony_ship\colony_ship_hullmask</texture> <width>10.0</width> <height>10.0</height> </watersplash> </component> <anim> Idle <assetreference type='GrannyAnim'> <file>units\asians\naval\fuchuan\fuchuan_idle</file> </assetreference> <component>Frigate</component> <simskeleton> <model>units\asians\naval\fuchuan\fuchuan_damaged</model> <damagetemplate>units\asians\naval\fuchuan\fuchuan_dmg.dmg</damagetemplate> </simskeleton> </anim> <anim> BombardAttack <assetreference type='GrannyAnim'> <file>units\asians\naval\fuchuan\fuchuan_idle</file> <tag type='CameraShake'>0.10</tag> <tag type='Attack'>0.02</tag> <tag type='SpecificSoundSet' checkvisible='1' set='MortarShot'>0.02</tag> <tag type='Particles' particlename='monitorbombardmuzzlefx'>0.03</tag> </assetreference> <component>Frigate</component> <simskeleton> <model>units\asians\naval\fuchuan\fuchuan_damaged</model> <damagetemplate>units\asians\naval\fuchuan\fuchuan_dmg.dmg</damagetemplate> </simskeleton> </anim> <anim> Death <assetreference type='GrannyAnim'> <file>units\asians\spc\treasure_ship\spc_treasure_ship_final_death_anim</file> </assetreference> <component>Death</component> <attach a='DeathWaterFoam' frombone='ATTACHPOINT' tobone='ATTACHPOINT' syncanims='0'/> <attach a='DeathWaterSpray2' frombone='ATTACHPOINT' tobone='ATTACHPOINT' syncanims='0'/> <attach a='DeathWaterRipple' frombone='ATTACHPOINT' tobone='ATTACHPOINT' syncanims='0'/> <attach a='DeathWaterFade' frombone='ATTACHPOINT' tobone='ATTACHPOINT' syncanims='0'/> </anim> <anim> Walk <assetreference type='GrannyAnim'> <file>units\asians\naval\fuchuan\fuchuan_walk</file> </assetreference> <component>Frigate</component> <simskeleton> <model>units\asians\naval\fuchuan\fuchuan_damaged</model> <damagetemplate>units\asians\naval\fuchuan\fuchuan_dmg.dmg</damagetemplate> </simskeleton> </anim>
</animfile>
<Tactics>WarTreasureShip.tactics</Tactics>
<?xml version='1.0' encoding='utf-8'?>
<tactics> <action> <name stringid='38133'>RangedAttack</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.5</accuracyreductionfactor> <aimbonus>5</aimbonus> <rof>3</rof> <rate type='All'>1.0</rate> <areasortmode>Directional</areasortmode> <targetground>1</targetground> <numberbounces>1</numberbounces> <basedamagecap>1</basedamagecap> </action> <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> <action> <name stringid='38122'>LongRangeAttack</name> <type>Attack</type> <attackaction>1</attackaction> <rangedlogic>1</rangedlogic> <anim>BombardAttack</anim> <idleanim>Idle</idleanim> <projectile>MortarShell</projectile> <numberprojectiles>1</numberprojectiles> <impacteffect>effects\impacts\mortar</impacteffect> <accuracy>1.0</accuracy> <aimbonus>5</aimbonus> <throw>1</throw> <rate type='All'>1.0</rate> <perfectaccuracy>1</perfectaccuracy> <areasortmode>Radial</areasortmode> <targetground>1</targetground> <basedamagecap>1</basedamagecap> </action> <action> <name stringid='69148'>Discover</name> <type>Discover</type> <anim>GatherFish</anim> <maxrange>0.2</maxrange> <rate type='AbstractNuggetWater'>1.0</rate> </action> <action> <dbaction>BoatManager</dbaction> <name stringid='69156'>BoatManager</name> <type>BoatManager</type> <persistent>1</persistent> </action> <action> <name stringid='68993'>FoodSpawn</name> <type>Maintain</type> <rate type='CrateofFood'>1</rate> <persistent>1</persistent> </action> <action> <name stringid='68993'>WoodSpawn</name> <type>Maintain</type> <rate type='CrateofWood'>1</rate> <persistent>1</persistent> </action> <action> <name stringid='68993'>CoinSpawn</name> <type>Maintain</type> <rate type='CrateofCoin'>1</rate> <persistent>1</persistent> </action> <tactic> Normal <speedmodifier>1.0</speedmodifier> <action priority='100'>RangedAttack</action> <action priority='1'>BroadsideAttack</action> <action priority='2'>LongRangeAttack</action> <action>Discover</action> <action>BoatManager</action> <idleanim>Idle</idleanim> <moveanim>Walk</moveanim> <deathanim>Death</deathanim> <attacktype>LogicalTypeRangedUnitsAttack</attacktype> <autoattacktype>LogicalTypeRangedUnitsAutoAttack</autoattacktype> <attackresponsetype>LogicalTypeRangedUnitsAttack</attackresponsetype> <runaway>1</runaway> <autoretarget>1</autoretarget> <action>FoodSpawn</action> <active>1</active> <transition> <tactic>Wood</tactic> <length>2</length> <exit>1</exit> </transition> <transition> <tactic>Coin</tactic> <length>2</length> <exit>1</exit> </transition> </tactic> <tactic> Wood <speedmodifier>1.0</speedmodifier> <action priority='100'>RangedAttack</action> <action priority='1'>BroadsideAttack</action> <action priority='2'>LongRangeAttack</action> <action>Discover</action> <action>BoatManager</action> <idleanim>Idle</idleanim> <moveanim>Walk</moveanim> <deathanim>Death</deathanim> <attacktype>LogicalTypeRangedUnitsAttack</attacktype> <autoattacktype>LogicalTypeRangedUnitsAutoAttack</autoattacktype> <attackresponsetype>LogicalTypeRangedUnitsAttack</attackresponsetype> <runaway>1</runaway> <autoretarget>1</autoretarget> <action>WoodSpawn</action> <active>1</active> <transition> <tactic>Normal</tactic> <length>2</length> <exit>1</exit> </transition> <transition> <tactic>Coin</tactic> <length>2</length> <exit>1</exit> </transition> </tactic> <tactic> Coin <speedmodifier>1.0</speedmodifier> <action priority='100'>RangedAttack</action> <action priority='1'>BroadsideAttack</action> <action priority='2'>LongRangeAttack</action> <action>Discover</action> <action>BoatManager</action> <idleanim>Idle</idleanim> <moveanim>Walk</moveanim> <deathanim>Death</deathanim> <attacktype>LogicalTypeRangedUnitsAttack</attacktype> <autoattacktype>LogicalTypeRangedUnitsAutoAttack</autoattacktype> <attackresponsetype>LogicalTypeRangedUnitsAttack</attackresponsetype> <runaway>1</runaway> <autoretarget>1</autoretarget> <action>CoinSpawn</action> <active>1</active> <transition> <tactic>Normal</tactic> <length>2</length> <exit>1</exit> </transition> <transition> <tactic>Wood</tactic> <length>2</length> <exit>1</exit> </transition> </tactic> </tactics>
视频链接:https://www.bilibili.com/video/av83997206/
视频中的protoa.xml、tactica文件夹、abilitiea文件夹、abilitiea.xml为本人独有文件,分别对应你们的protoy.xml、tactics文件夹、abilities文件夹、abilities.xml
[bilibili=100%,calc(100vw*0.46)]83997206[/bilibili]
|