Jump to content


Spartan unpack ability issue


2 replies to this topic

#1 Zocom7

    Visitor

  • Member
  • 29 posts

Posted 27 August 2011 - 17:57

I am having trouble getting the Spartan working with its unpack ability into a turret. The compilation of the mod is a success but once I built the unit ingame, the game crashes. I do not know which part of the coding is either missing or wrong. The main problem for me is trying to get another "model condition state" working by having the Spartan to get a second weapon (with a different bone) after unpacking into a turret but that led to an asset error when loading the mod stating that either one "model condition state" or "animation state" must be defined as one default state.

Although I did copy the MCV and Rig codings for the unpack ability, something else may be missing.


Spartan.xml
<?xml version="1.0" encoding="utf-8"?>
<AssetDeclaration xmlns="uri:ea.com:eala:asset" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xi="http://www.w3.org/2001/XInclude">
    <Tags></Tags>
    <Includes>
   	 <Include type="all" source="ART:Spartan/GUVEHICLEY_SKN.w3x" />
   	 <Include type="all" source="ART:Spartan/GUVEHICLEY_DPLY.w3x" />
   	 <!--<Include type="all" source="ART:Spartan/GUVEHICLEY_DPLY_AN.w3x" />-->
   	 <Include type="all" source="ART:NUBeam.xml" />
   	 <Include type="all" source="ART:FXWhiteSquare.xml" />
   	 <Include type="all" source="ART:FXRailGunCoreMask.xml" />
   	 <Include type="all" source="ART:FXRailGunCoreDistortion.xml" />
   	 <Include type="instance" source="ART:EXTnkTrack.xml" />
   	 <Include type="instance" source="DATA:BaseObjects/BaseVehicle.xml" />
    </Includes>
    <GameObject
   	 id="GDISpartan"
   	 inheritFrom="BaseVehicle"
   	 SelectPortrait="Portrait_GDISpartan"
   	 ButtonImage="Portrait_GDISpartan"
   	 Side="GDI"
   	 EditorSorting="UNIT"
   	 TransportSlotCount="1"
   	 BuildCost="100"
   	 BuildTime="3"
   	 CommandSet="GDISpartanCommandSet"
   	 CommandPoints="100"
   	 KindOf="PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SCORE VEHICLE CAN_REVERSE_MOVE CAN_BE_FAVORITE_UNIT"
   	 RadarPriority="UNIT"
   	 ThreatLevel="10"
   	 ProductionQueueType="VEHICLE"
   	 UnitCategory="VEHICLE"
   	 WeaponCategory="CANNON"
   	 VoicePriority="184"
   	 EditorName="GDISpartan"
   	 Description="Desc:GDISpartan"
   	 TypeDescription="Type:GDISpartan">
   	 <DisplayName
   		 xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance">Name:GDISpartan</DisplayName>
   	 <ArmorSet
   		 Armor="GDIPredatorTankArmor"
   		 DamageFX="VehicleDamageFX" />
   	 <LocomotorSet
   		 Locomotor="GDIPredatorTankLocomotor"
   		 Condition="NORMAL"
   		 Speed="60.0" />
   	 <SkirmishAIInformation
   		 UnitBuilderStandardCombatUnit="true" />
   	 <Draws>
   		 <!-- BONE_TREAD_FRONT_LEFT and BONE_TREAD_FRONT_RIGHT have no effect -->
   		 <TankDraw
   			 id="ModuleTag_Draw"
   			 OkToChangeModelColor="true"
   			 ExtraPublicBone="FXTracksL FXTracksR FXMUZZLEFLASH"
   			 TrackMarks="EXTnkTrack"
   			 TrackMarksLeftBone="FXTracksL"
   			 TrackMarksRightBone="FXTracksR"
   			 TreadAnimationRate="0.15"
   			 TreadDriveSpeedFraction="0.25"
   			 TreadPivotSpeedFraction="0.9">
   			 <ModelConditionState
   				 ParseCondStateType="PARSE_DEFAULT"
   				 RetainSubObjects="true">
   				 <Model
   					 Name="GUVEHICLEY_SKN" />
   				 <WeaponFireFXBone
   					 WeaponSlotType="PRIMARY_WEAPON"
   					 BoneName="F8C60ACD" />
   				 <WeaponRecoilBone
   					 WeaponSlotType="PRIMARY_WEAPON"
   					 BoneName="F8C60ACD" />   					 
   				 <WeaponMuzzleFlash
   					 WeaponSlotType="PRIMARY_WEAPON"
   					 BoneName="F8C60ACD" />
   				 <WeaponLaunchBone
   					 WeaponSlotType="PRIMARY_WEAPON"
   					 BoneName="F8C60ACD" />
   				 <Turret
   					 TurretNameKey="Turret"
   					 TurretPitch="Barrel"
   					 TurretID="1" />
   			 </ModelConditionState>
   			 <!--<ModelConditionState
   				 ParseCondStateType="PARSE_DEFAULT"
   				 RetainSubObjects="true">
   				 <Model
   					 Name="GUVEHICLEY_DPLY" />
   				 <WeaponFireFXBone
   					 WeaponSlotType="PRIMARY_WEAPON"
   					 BoneName="AA55F6CC" />
   				 <WeaponRecoilBone
   					 WeaponSlotType="PRIMARY_WEAPON"
   					 BoneName="AA55F6CC" />   					 
   				 <WeaponMuzzleFlash
   					 WeaponSlotType="PRIMARY_WEAPON"
   					 BoneName="AA55F6CC" />
   				 <WeaponLaunchBone
   					 WeaponSlotType="PRIMARY_WEAPON"
   					 BoneName="AA55F6CC" />
   				 <Turret
   					 TurretNameKey="Turret"
   					 TurretPitch="Barrel"
   					 TurretID="2" />
   			 </ModelConditionState>-->
   			 <ModelConditionState
   				 ParseCondStateType="PARSE_NORMAL"
   				 RetainSubObjects="true"
   				 ConditionsYes="UNPACKING REALLYDAMAGED">
   				 <Model
   					 Name="GUVEHICLEY_DPLY" />
   				 <Texture
   					 Original="GUVEHICLEY"
   					 New="GUVEHICLEY_D" />
   			 </ModelConditionState>
   			 <ModelConditionState
   				 ParseCondStateType="PARSE_NORMAL"
   				 RetainSubObjects="true"
   				 ConditionsYes="UNPACKING">
   				 <Model Name="GUVEHICLEY_DPLY" />
   			 </ModelConditionState>
   			 <ModelConditionState
   				 ParseCondStateType="PARSE_NORMAL"
   				 ConditionsYes="DYING USER_5">
   				 <Model
   					 Name="GUVEHICLEY_SKN" />
   				 <Texture
   					 Original="GUVEHICLEY"
   					 New="GUVEHICLEY_D" />   					 
   				 <ParticleSysBone
   					 BoneName="ROOTTRANSFORM"
   					 FXParticleSystemTemplate="GDIDebrisSmallFire"
   					 FollowBone="true" />
   				 <ParticleSysBone
   					 BoneName="ROOTTRANSFORM"
   					 FXParticleSystemTemplate="GDIDebrisSmallFireDistortion"
   					 FollowBone="true" />
   				 <ParticleSysBone
   					 BoneName="ROOTTRANSFORM"
   					 FXParticleSystemTemplate="GDIDebrisSmallSmoke"
   					 FollowBone="true" />
   			 </ModelConditionState>
   			 <ModelConditionState
   				 ParseCondStateType="PARSE_NORMAL"
   				 RetainSubObjects="true"
   				 ConditionsYes="REALLYDAMAGED USER_5">
   				 <Model
   					 Name="GUVEHICLEY_SKN" />
   				 <Texture
   					 Original="GUVEHICLEY"
   					 New="GUVEHICLEY_D" />
   				 <ParticleSysBone
   					 BoneName="BARREL"
   					 FXParticleSystemTemplate="GDIPredDamagedFire"
   					 FollowBone="true" />
   				 <ParticleSysBone
   					 BoneName="BARREL"
   					 FXParticleSystemTemplate="GDIPredDamagedFireDistortion"
   					 FollowBone="true" />
   				 <ParticleSysBone
   					 BoneName="BARREL"
   					 FXParticleSystemTemplate="GDIPredDamagedSmoke"
   					 FollowBone="true" />
   			 </ModelConditionState>
   			 <ModelConditionState
   				 ParseCondStateType="PARSE_NORMAL"
   				 ConditionsYes="DYING">
   				 <Model
   					 Name="GUVEHICLEY_SKN" />
   				 <ParticleSysBone
   					 BoneName="ROOTTRANSFORM"
   					 FXParticleSystemTemplate="GDIDebrisSmallFire"
   					 FollowBone="true" />
   				 <ParticleSysBone
   					 BoneName="ROOTTRANSFORM"
   					 FXParticleSystemTemplate="GDIDebrisSmallFireDistortion"
   					 FollowBone="true" />
   				 <ParticleSysBone
   					 BoneName="ROOTTRANSFORM"
   					 FXParticleSystemTemplate="GDIDebrisSmallSmoke"
   					 FollowBone="true" />
   			 </ModelConditionState>
   			 <ModelConditionState
   				 ParseCondStateType="PARSE_NORMAL"
   				 RetainSubObjects="true"
   				 ConditionsYes="REALLYDAMAGED">
   				 <Model
   					 Name="GUVEHICLEY_SKN" />
   				 <Texture
   					 Original="GUVEHICLEY"
   					 New="GUVEHICLEY_D" />
   				 <ParticleSysBone
   					 BoneName="BARREL"
   					 FXParticleSystemTemplate="GDIPredDamagedFire"
   					 FollowBone="true" />
   				 <ParticleSysBone
   					 BoneName="BARREL"
   					 FXParticleSystemTemplate="GDIPredDamagedFireDistortion"
   					 FollowBone="true" />
   				 <ParticleSysBone
   					 BoneName="BARREL"
   					 FXParticleSystemTemplate="GDIPredDamagedSmoke"
   					 FollowBone="true" />
   			 </ModelConditionState>    
   			 <ModelConditionState
   				 ParseCondStateType="PARSE_NORMAL"
   				 RetainSubObjects="true"
   				 ConditionsYes="USER_5">
   				 <Model
   					 Name="GUVEHICLEY_SKN" />
   				 <Texture
   					 Original="GUVEHICLEY"
   					 New="GUVEHICLEY" />   					 
   			 </ModelConditionState>
   			 <!--<ModelConditionState
   				 ParseCondStateType="PARSE_NORMAL"
   				 ConditionsYes="UNPACKING DAMAGED REALLYDAMAGED">
   				 <Model
   					 Name="GUVEHICLEY_DPLY" />
   				 <Texture
   					 Original="GUVEHICLEY"
   					 New="GUVEHICLEY_D" />
   			 </ModelConditionState>-->
   			 <!--<ModelConditionState
   				 ParseCondStateType="PARSE_NORMAL"
   				 ConditionsYes="FORMATION_PREVIEW">
   				 <Model
   					 Name="" />
   			 </ModelConditionState>-->    
   			 <!--<ModelConditionState
   				 ParseCondStateType="PARSE_NORMAL"
   				 ConditionsYes="UNPACKING">
   				 <Model
   					 Name="GUVEHICLEY_DPLY" />
   			 </ModelConditionState>-->
   			 <!-- <ModelConditionState
   				 ParseCondStateType="PARSE_NORMAL"
   				 ConditionsYes="UNPACKING DAMAGED">
   				 <Model
   					 Name="GUVEHICLEY_DPLY" />
   				 <Texture
   					 Original="GUVEHICLEY"
   					 New="GUVEHICLEY_D" />
   			 </ModelConditionState> -->
   			 <AnimationState
   				 ParseCondStateType="PARSE_DEFAULT">
   				 <Animation
   					 AnimationName="GUVEHICLEY_DPLY"
   					 AnimationMode="ONCE" />
   			 </AnimationState>
   			 <!--<AnimationState
   				 ParseCondStateType="PARSE_NORMAL"
   				 Flags="START_FRAME_LAST"
   				 ConditionsYes="UNPACKING">
   				 <Animation
   					 AnimationName="GUVEHICLEY_DPLY"
   					 AnimationMode="ONCE_BACKWARDS" />
   				 <ParticleSysBone
   					 BoneName="NONE"
   					 FXParticleSystemTemplate="Con_Small"
   					 FollowBone="true" />
   			 </AnimationState>-->
   			 <AnimationState
   				 ParseCondStateType="PARSE_DEFAULT">
   				 <!-- Circumvents blend issues when the arrow is being shown... -->
   				 <script>
   					 CurDrawableShowSubObject("TreadsStop")
   					 CurDrawableHideSubObject("TreadsMove")
   					 CurDrawableHideSubObject("TreadsLeft")
   					 CurDrawableHideSubObject("TreadsRight")
   				 </Script>
   			 </AnimationState>
   			 <AnimationState
   				 ParseCondStateType="PARSE_NORMAL"
   				 ConditionsYes="MOVING TURN_LEFT">
   				 <!-- Circumvents blend issues when the arrow is being shown... -->
   				 <script>
   					 CurDrawableHideSubObject("TreadsStop")
   					 CurDrawableHideSubObject("TreadsMove")
   					 CurDrawableShowSubObject("TreadsLeft")
   					 CurDrawableHideSubObject("TreadsRight")
   				 </Script>
   			 </AnimationState>
   			 <AnimationState
   				 ParseCondStateType="PARSE_NORMAL"
   				 ConditionsYes="MOVING TURN_RIGHT">
   				 <!-- Circumvents blend issues when the arrow is being shown... -->
   				 <script>
   					 CurDrawableHideSubObject("TreadsStop")
   					 CurDrawableHideSubObject("TreadsMove")
   					 CurDrawableHideSubObject("TreadsLeft")
   					 CurDrawableShowSubObject("TreadsRight")
   				 </Script>
   			 </AnimationState>
   			 <AnimationState
   				 ParseCondStateType="PARSE_NORMAL"
   				 ConditionsYes="MOVING">
   				 <!-- Circumvents blend issues when the arrow is being shown... -->
   				 <script>
   					 CurDrawableHideSubObject("TreadsStop")
   					 CurDrawableShowSubObject("TreadsMove")
   					 CurDrawableHideSubObject("TreadsLeft")
   					 CurDrawableHideSubObject("TreadsRight")
   				 </Script>
   			 </AnimationState>
   			 <LeftTread>"TreadsL"</LeftTread>
   			 <RightTread>"TreadsR"</RightTread>
   		 </TankDraw>
   		 <scriptedModelDraw
   			 id="ModuleTag_FX">
   			 <ModelConditionState
   				 ParseCondStateType="PARSE_DEFAULT">
   				 <Model
   					 Name="" />
   			 </ModelConditionState>
   			 <AnimationState
   				 ParseCondStateType="PARSE_NORMAL"
   				 ConditionsYes="MOVING">
   				 <ParticleSysBone
   					 BoneName="NONE"
   					 FXParticleSystemTemplate="TreadDustPred"
   					 FollowBone="true" />
   				 <ParticleSysBone
   					 BoneName="NONE"
   					 FXParticleSystemTemplate="TreadDirt"
   					 FollowBone="true" />
   			 </AnimationState>
   		 </ScriptedModelDraw>
   		 <LaserDraw
   			 id="ModuleTag_LaserDistort"
   			 UseDistortionShader="true"
   			 Texture1_UTile="1"
   			 Texture1_VTile=".5"
   			 Texture1_UScrollRate="0"
   			 Texture1_VScrollRate=".2"
   			 Texture1_NumFrames="1"
   			 Texture1_FrameRate="30"
   			 Texture2_UTile="1"
   			 Texture2_VTile=".01"
   			 Texture2_UScrollRate="0"
   			 Texture2_VScrollRate="1"
   			 Texture2_NumFrames="1"
   			 Texture2_FrameRate="1"
   			 LaserWidth="50">
   			 <FXShader
   				 ShaderName="Laser.fx"
   				 TechniqueIndex="0">
   				 <Constants>
   					 <Texture
   						 Name="Texture1">
   						 <Value>FXRailGunCoreDistortion</Value>
   					 </Texture>
   					 <Texture
   						 Name="Texture2">
   						 <Value>FXRailGunCoreMask</Value>
   					 </Texture>
   				 </Constants>
   			 </FXShader>
   		 </LaserDraw>
   	 </Draws>
   	 <Behaviors>
   		 <ProductionUpdate id="ProductionUpdateModuleTag" GiveNoXP="true" />
   		 <WeaponSetUpdate id="ModuleTag_WeaponSetUpdate">
    <WeaponSlotTurret ID="1"> <Weapon Ordering="PRIMARY_WEAPON" Template="GDIPredatorTankCannon" Upgrade="Upgrade_Pack" />
      	<TurretSettings TurretTurnRate="360" TurretPitchRate="20" AllowsPitch="true" PitchHeight="99%" MinimumPitch="-20d" MinIdleScanTime="1.0s" MaxIdleScanTime="5.0s" MinIdleScanAngle="0.0" MaxIdleScanAngle="90.0">
    <TurretAITargetChooserData CanAcquireDynamicIfAssignedOutOfRange="true" /> </TurretSettings> </WeaponSlotTurret>
    <!--<WeaponSlotTurret ID="2"> <Weapon Ordering="PRIMARY_WEAPON" Template="GDIPredatorTankCannon" Upgrade="Upgrade_UnPack" />
    <TurretSettings TurretTurnRate="360" TurretPitchRate="20" AllowsPitch="true" PitchHeight="99%" MinimumPitch="-20d" MinIdleScanTime="1.0s" MaxIdleScanTime="5.0s" MinIdleScanAngle="0.0" MaxIdleScanAngle="90.0">
    <TurretAITargetChooserData CanAcquireDynamicIfAssignedOutOfRange="true" /> </TurretSettings>  </WeaponSlotTurret>-->
    </WeaponSetUpdate>
 	 
  	<SlowDeath id="ModuleTag_Death" SinkDelay="3s" SinkRate="1.0" DestructionDelay="7s">
    	<OCL Type="INITIAL">
      	<OCL>OCL_GDIPredatorTankDebris</OCL>
    	</OCL>
    <DieMuxData DeathTypes="ALL" DeathTypesForbidden="TOPPLED" />
    <Sound Type="INITIAL" List="GDI_Generic_VoiceDieMS" />
  	</SlowDeath>
  	<FXListBehavior id="ModuleTag_FXList">
    	<DieMuxData DeathTypes="ALL" />
    	<Event Index="onDeath" FX="FX_GDIMammothExplode" />
  	</FXListBehavior>
  	<SpecialPower id="ModuleTag_GiveUnpackUpgradeSpecialPowerTrigger" SpecialPowerTemplate="SpecialPower_GrantUnpackUpgrade" UpdateModuleStartsAttack="true" SetModelCondition="UNPACKING" SetModelConditionTime="4.0s" DisableDuringAnimDuration="true" />
  	<GiveOrRestoreUpgradeSpecialPower id="ModuleTag_GiveUnpackUpgradeSpecialPowerUpdate" SpecialPowerTemplate="SpecialPower_GrantUnpackUpgrade" UpgradeToGive="Upgrade_UnPack" PreparationTime="4.0s"
  	Options="SHOW_PREPARATION_PROGRESS MUST_FINISH_ABILITY" />
  	<SpecialPower id="ModuleTag_GivePackUpgradeSpecialPowerTrigger" SpecialPowerTemplate="SpecialPower_GrantPackUpgrade" UpdateModuleStartsAttack="true" SetModelCondition="PACKING" SetModelConditionTime="4.0s" DisableDuringAnimDuration="true" />
  	<GiveOrRestoreUpgradeSpecialPower id="ModuleTag_GivePackUpgradeSpecialPowerUpdate" SpecialPowerTemplate="SpecialPower_GrantPackUpgrade" UpgradeToGive="Upgrade_Pack" PreparationTime="4.0s"
  	Options="SHOW_PREPARATION_PROGRESS MUST_FINISH_ABILITY" />
  	<LocomotorSetUpgrade id="ModuleTag_AttributeModifierDeployed2">
    	<TriggeredBy>Upgrade_UnPack</TriggeredBy>
  	</LocomotorSetUpgrade>
  	<AttributeModifierUpgrade id="ModuleTag_AttributeModifierDeployed" AttributeModifier="AttributeModifier_SpartanDeployed">
    	<TriggeredBy>Upgrade_UnPack</TriggeredBy>
  	</AttributeModifierUpgrade>
  	<RemoveUpgradeUpgrade id="ModuleTag_RemoveUpgradeUpgrade1">
    	<UpgradeToRemove>Upgrade_Pack</UpgradeToRemove>
    	<TriggeredBy>Upgrade_UnPack</TriggeredBy>
  	</RemoveUpgradeUpgrade>
  	<RemoveUpgradeUpgrade id="ModuleTag_RemoveUpgradeUpgrade2">
    	<UpgradeToRemove>Upgrade_UnPack</UpgradeToRemove>
    	<TriggeredBy>Upgrade_Pack</TriggeredBy>
  	</RemoveUpgradeUpgrade>
  	<AISpecialPowerUpdate id="ModuleTag_SpartanUnpackAI" CommandButtonName="Command_UnpackSpartan"
  	SpecialPowerAIType="SPECIAL_POWER_BASIC_SELF_BUFF" SpecialPowerRadius="200.0"
  	AllyUnitInclude="NEUTRAL_TECH" EnemyUnitExclude="CAN_ATTACK" />
  	<ArmorUpgrade id="ModuleTag_RemoveDirectionalArmor" ArmorSetFlag="PLAYER_UPGRADE">
    	<TriggeredBy>Upgrade_UnPack</TriggeredBy>
  	</ArmorUpgrade>
   		 
   		 <!--<WeaponSetUpdate
   			 id="ModuleTag_WeaponSetUpdate">
   			 <WeaponSlotTurret
   				 ID="1"
   				 AllowInterleavedFiring="false"
   				 InterleavedStyle="INTERLEAVE_FIRST_AVAILABLE"
   				 WeaponChoiceCriteria="PREFER_MOST_DAMAGE">
   				 <Weapon
   					 Ordering="PRIMARY_WEAPON"
   					 Template="GDIPredatorTankCannon" />
   				 <TurretSettings
   					 TurretTurnRate="200"
   					 TurretPitchRate="40"
   					 AllowsPitch="true"
   					 MinIdleScanTime="1.0s"
   					 MaxIdleScanTime="5.0s"
   					 MinIdleScanAngle="0.0"
   					 MaxIdleScanAngle="90.0">
   					 <TurretAITargetChooserData
   						 CanAcquireDynamicIfAssignedOutOfRange="true" />
   				 </TurretSettings>
   			 </WeaponSlotTurret>
   		 </WeaponSetUpdate>
   		 <LaserState
   			 id="ModuleTag_LaserState"
   			 LaserId="0"></LaserState>
   		 <Physics
   			 id="ModuleTag_Physics" />
   		 <SlowDeath
   			 id="ModuleTag_Death"
   			 SinkDelay="3s"
   			 SinkRate="1.0"
   			 DestructionDelay="7s">
   			 <OCL
   				 Type="INITIAL">
   				 <OCL>OCL_GDIPredatorTankDebris</OCL>
   			 </OCL>
   			 <DieMuxData
   				 DeathTypes="ALL"
   				 DeathTypesForbidden="TOPPLED" />
   			 <Sound
   				 Type="INITIAL"
   				 List="GDI_Generic_VoiceDieMS" />
   		 </SlowDeath>
   		 <FXListBehavior
   			 id="ModuleTag_FXList">
   			 <DieMuxData
   				 DeathTypes="ALL" />
   			 <Event
   				 Index="onDeath"
   				 FX="FX_GDIMammothExplode" />
   		 </FXListBehavior>
   		 <StatusBitsUpgrade
   			 id="ModuleTag_VeterancyUpgrade"
   			 StatusToSet="WEAPON_UPGRADED_03">
   			 <TriggeredBy>Upgrade_Veterancy_HEROIC</TriggeredBy>
   		 </StatusBitsUpgrade>
   		 <ModelConditionUpgrade
   			 id="ModuleTag_AllFactionUpgrade"
   			 AddConditionFlags="USER_5">
   			 <TriggeredBy>Upgrade_AllFactionUpgrade</TriggeredBy>
   		 </ModelConditionUpgrade>-->
   	 </Behaviors>
   	 <AI>
   		 <AIUpdate
   			 id="ModuleTag_AI"
   			 AutoAcquireEnemiesWhenIdle="YES"
   			 AILuaEventsList="GDIPredatorFunctions">
   			 <UnitAITargetChooserData
   				 CanPickDynamicTargets="false"
   				 SympathyRange="100.0" />
   		 </AIUpdate>
   	 </AI>
   	 <Body>
   		 <ActiveBody
   			 id="ModuleTag_Body"
   			 MaxHealth="4000" />
   	 </Body>
   	 <Geometry
   		 IsSmall="false">
   		 <Shape
   			 Type="BOX"
   			 MajorRadius="18.0"
   			 MinorRadius="12.0"
   			 Height="10.0"
   			 ContactPointGeneration="VEHICLE" />
   	 </Geometry>
   	 <ClientBehaviors>
   		 <ModelConditionAudioLoopClientBehavior
   			 id="ModuleTag_MCALCB">
   			 <ModelConditionSound
   				 Sound="GDI_MCVPackBed"
   				 RequiredFlags="UNPACKING" />
   		 </ModelConditionAudioLoopClientBehavior>
   		 <AnimationSoundClientBehavior
   			 id="AnimationSoundCB" >
   			 <Sound
   				 Sound="GDI_MCVPack1"
   				 Animation="GUVEHICLEY_DPLY_AN"
   				 Frame="84" />
   			 <Sound
   				 Sound="GDI_MCVPack2"
   				 Animation="GUVEHICLEY_DPLY_AN"
   				 Frame="52" />
   			 <Sound
   				 Sound="GDI_MCVPack3"
   				 Animation="GUVEHICLEY_DPLY_AN"
   				 Frame="12" />
   			 <Sound
   				 Sound="GDI_MCVPack4"
   				 Animation="GUVEHICLEY_DPLY_AN"
   				 Frame="20" />
   			 <Sound
   				 Sound="GDI_MCVPack5"
   				 Animation="GUVEHICLEY_DPLY_AN"
   				 Frame="1" />
   		 </AnimationSoundClientBehavior>   			 
   	 </ClientBehaviors>
   	 <AudioArrayVoice>
   		 <AudioEntry Sound="GDI_Spartan_VoiceAttack" AudioType="voiceAttack" />
   		 <AudioEntry Sound="GDI_Spartan_VoiceCreate" AudioType="voiceCreated" />
   		 <AudioEntry Sound="GDI_Spartan_VoiceCreate" AudioType="voiceFullyCreated" />
   		 <AudioEntry Sound="GDI_Spartan_VoiceMove" AudioType="voiceGuard" />
   		 <AudioEntry Sound="GDI_Spartan_VoiceMoveAttack" AudioType="voiceAttackAfterMoving" />
   		 <AudioEntry Sound="GDI_Spartan_VoiceMove" AudioType="voiceMove" />
   		 <AudioEntry Sound="GDI_Spartan_VoiceRetreat" AudioType="voiceRetreatToCastle" />
   		 <AudioEntry Sound="GDI_Spartan_VoiceSelect" AudioType="voiceSelect" />
   		 <AudioEntry Sound="GDI_Spartan_VoiceSelectBattle" AudioType="voiceSelectBattle" />
   	 </AudioArrayVoice>
   	 <AudioArraySound>
   		 <AudioEntry Sound="PredatorIdleLoop" AudioType="soundAmbient" />
   		 <AudioEntry Sound="PredatorMoveStart" AudioType="soundMoveStart" />
   	 </AudioArraySound>
   	 <ShadowInfo
   		 Type="VOLUME" />
   	 <VisionInfo
   		 VisionRange="350"
   		 ShroudClearingRange="400" />
    </GameObject>
    
    <AttributeModifier
   	 id="AttributeModifier_SpartanDeployed"
   	 Category="NONE"
   	 ObjectStatusToSet="DEPLOYED IMMOBILE"
   	 ModelConditionsSet="DEPLOYED">
   	 <Modifier Type="ARMOR" Value="75%"/>
    </AttributeModifier>
</AssetDeclaration>


UnitAbilityButtonTemplates.xml
    <UnitAbilityButtonTemplateStore
   	 id="UnitAbilityButtonTemplateStore">
   	 <Templates>
   		 <SpecialPowerButton
   			 Id="Command_UnPackSpartan">
   			 <State
   				 Image="Button_AbilityUnPack"
   				 Title="NAME:AbilityUnPackRig"
   				 Description="DESC:AbilityUnPackRig" />
   		 </SpecialPowerButton>
   	 </Templates>
    </UnitAbilityButtonTemplateStore>


Logic Command
    <LogicCommand
   	 Type="UNIT_BUILD"
   	 id="Command_ConstructGDISpartan">
   	 <Object>GDISpartan</Object>
    </LogicCommand>
      <LogicCommand
   	 Type="SPECIAL_POWER"
   	 id="Command_UnpackSpartan">
   	 <SpecialPower>SpecialPower_GrantUnpackUpgrade</SpecialPower>
    </LogicCommand>
    <LogicCommandSet
   	 id="GDISpartanCommandSet">
   	 <Cmd>Command_AttackMove</Cmd>
   	 <Cmd>Command_UnpackSpartan</Cmd>
    </LogicCommandSet>


#2 R3ven

    Veteran

  • Project Team
  • 468 posts

Posted 29 August 2011 - 00:24

You have two AnimationStates set to PARSE_DEFAULT. You can only have one, it's what your object defaults to when ModelStates don't match anything set for PARSE_NORMAL.

#3 Zocom7

    Visitor

  • Member
  • 29 posts

Posted 31 August 2011 - 00:04

I did use what CommieDog gave me for the partial coding of the Tick Tank deployment for use to the Spartan and it didn't work out.
I did re-modify the asset states without a duplicate asset pause default and it didn't work out.
I did use either the MCV or Rig coding for the model condition state and animation state and it still didn't work out.

For all due reasons, the main issue was that the game error message requires a asset pause default (that I thought they have already existed), but also it probably wants another game object xml for the deployed unit. This cannot work similarly with the coding of the Nod Specter that I have already done in my mods because the coding is different.



1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users