Skip to content

Example Turret Definition

Ashley Bennett edited this page Apr 20, 2024 · 3 revisions
<?xml version="1.0" encoding="utf-8"?>
<Definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <CubeBlocks>
        <Definition xsi:type="MyObjectBuilder_ConveyorSorterDefinition">
            <Id>
                <TypeId>ConveyorSorter</TypeId>
                <SubtypeId>TestToolTurret</SubtypeId>
            </Id>
            <DisplayName>Test Tool Turret</DisplayName>
            <Icon>Textures\GUI\Icons\Cubes\gatling_turret.dds</Icon>
            <Description>Description_ConveyorSorter</Description>
            <CubeSize>Large</CubeSize>
            <GuiVisible>false</GuiVisible>
            <BlockTopology>TriangleMesh</BlockTopology>
            <Size x="3" y="3" z="3" />
            <ModelOffset x="0" y="0" z="0" />
            <Model>Models\Cubes\Large\GatlingTurret.mwm</Model>
            <UseModelIntersection>true</UseModelIntersection>
            <Components>
                <Component Subtype="InteriorPlate" Count="40" />
                <Component Subtype="Construction" Count="100" />
                <Component Subtype="SmallTube" Count="50" />
                <Component Subtype="Computer" Count="20" />
                <Component Subtype="Motor" Count="2" />
                <Component Subtype="Construction" Count="20" />
                <Component Subtype="InteriorPlate" Count="10" />
            </Components>
            <CriticalComponent Subtype="Motor" Index="0" />
            <BuildProgressModels>
                <Model BuildPercentUpperBound="0.33" File="Models\Cubes\Large\GatlingTurretConstruction_1.mwm" />
                <Model BuildPercentUpperBound="0.66" File="Models\Cubes\Large\GatlingTurretConstruction_2.mwm" />
                <Model BuildPercentUpperBound="1.00" File="Models\Cubes\Large\GatlingTurretConstruction_3.mwm" />
            </BuildProgressModels>

            <ToolValues Type="Weld Grind">
                <EffectShape>Line</EffectShape>
                <WorkOrder>Forward</WorkOrder>
                <WorkOrigin>Emitter</WorkOrigin>
                <Emitter>muzzle_projectile_001</Emitter>
                <Offset x="0" y="0" z="-4" />
                <HalfExtent x="5" y="8" z="5" />
                <Radius>50</Radius>
                <Length>50</Length>
                <Speed>2.5</Speed>
                <WorkRate>4</WorkRate>
                <Debug>false</Debug>
                <Action Type="Primary" SizeRatio="1" SpeedRatio="1" HarvestRatio="1" />
                <Turret>
                    <TargetRadius>50</TargetRadius>
                    <AimingTolerance>2.5</AimingTolerance>
                    <Subpart>
                        <Name>GatlingTurretBase1</Name>
                        <RotationAxis>Up</RotationAxis>
                        <RotationSpeed>90</RotationSpeed>
                    </Subpart>
                    <Subpart>
                        <Name>GatlingTurretBase2</Name>
                        <RotationAxis>Right</RotationAxis>
                        <RotationSpeed>45</RotationSpeed>
                        <MinRotation>-30</MinRotation>
                        <MaxRotation>125</MaxRotation>
                    </Subpart>
                </Turret>
                <Event Trigger="Firing">
                    <Animation>
                        <Subpart>GatlingBarrel</Subpart>
                        <AnimationType>Rotate</AnimationType>
                        <Direction x="0" y="0" z="-1" />
                        <Speed>300</Speed>
                        <WindupTime>60</WindupTime>
                    </Animation>
                    <Beam>
                        <Start>muzzle_projectile_001</Start>
                        <EndLocation>Forward</EndLocation>
                        <Material>WeaponLaser</Material>
                        <Width>0.3</Width>
                        <Color>
                            <X>69</X>
                            <Y>10</Y>
                            <Z>5</Z>
                            <W>1</W>
                        </Color>
                    </Beam>
                    <Sound>
                        <Name>ToolLrgWeldIdle</Name>
                    </Sound>
                </Event>
                <Event Trigger="RayHit">
                    <ParticleEffect>
                        <Name>ShipWelderArc</Name>
                        <Location>Hit</Location>
                        <Dummy>muzzle_projectile_001</Dummy>
                        <Offset x="0" y="0" z="-4" />
                    </ParticleEffect>
                    <Sound>
                        <Name>ToolLrgWeldMetal</Name>
                    </Sound>
                </Event>
                <MaterialSpecificModifiers>
                    <Material Category="Sand" SpeedRatio="0.5" HarvestRatio="1.3"/>
                    <Material Category="Soil" SpeedRatio="5" HarvestRatio="0.2"/>
                </MaterialSpecificModifiers>
            </ToolValues>

            <BlockPairName>TestToolTurret</BlockPairName>
            <MirroringY>Z</MirroringY>
            <MirroringZ>Y</MirroringZ>
            <EdgeType>Light</EdgeType>
            <BuildTimeSeconds>20</BuildTimeSeconds>
            <DamageEffectName>Damage_HeavyMech_Damaged</DamageEffectName>
            <DamagedSound>ParticleHeavyMech</DamagedSound>
            <ResourceSinkGroup>Conveyors</ResourceSinkGroup>
            <PowerInput>0.00025</PowerInput>
            <InventorySize>
                <X>5</X>
                <Y>1</Y>
                <Z>1</Z>
            </InventorySize>
            <EmissiveColorPreset>Default</EmissiveColorPreset>
            <DamageEffectName>Damage_HeavyMech_Damaged</DamageEffectName>
            <DamagedSound>ParticleHeavyMech</DamagedSound>
            <DestroyEffect>BlockDestroyedExplosion_Large</DestroyEffect>
            <DestroySound>WepSmallWarheadExpl</DestroySound>
            <PCU>25</PCU>
            <IsAirTight>true</IsAirTight>
        </Definition>
    </CubeBlocks>
</Definitions>

Clone this wiki locally