Egozi44 28 Posted August 28, 2015 Alright I will try them both I need to make new animationstate rather than use the old one correct? Where I add the QuadrupedDraw though? I don't have BFME files on my pc anymore and I never really opened or mod them, I think they used ini files rather than xmls back in the day but I never checked Share this post Link to post
Ravendark 46 Posted August 28, 2015 Mumakil. (Or Oliphaunts) Those almost sound adorable, if you disregard the stomping and crushing of your units. I need to make new animationstate rather than use the old one correct? Yes Where I add the QuadrupedDraw though? I don't have BFME files on my pc anymore and I never really opened or mod them, I think they used ini files rather than xmls back in the day but I never checked Instead of calling your draw (the whole code bracket that holds model, animation, weapon bone stuff etc) <ScriptedModelDraw></ScriptedModelDraw> you use <QuadrupedDraw></QuadrupedDraw> That draw has extra helper bones if need be that it can use to manipulate 4 legged units <xs:attribute name="LeftFrontFootBone" type="xs:string" /> <xs:attribute name="RightFrontFootBone" type="xs:string" /> <xs:attribute name="LeftRearFootBone" type="xs:string" /> <xs:attribute name="RightRearFootBone" type="xs:string" /> for the rest it inherits exactly the same stuff from scriptedmodeldraw iirc....it just adds some extra options for walking units. iirc it was used in bfme to facilitate with walking up on slopes, crushing stuff and targeting stuff on the mamukil. there are parts in the locomotor that can be used together with this draw: <xs:enumeration value="FOUR_LEGS_HUGE" /> <xs:enumeration value="HUGE_TWO_LEGS" /> think there are a few others like Walkdistance that can be used to tune it abit. like wise you can use something like Distance="45" in your animationstate to scale a full walking cycle to a sertain distance, this could help tune out some twitching effects in animations. Share this post Link to post
Egozi44 28 Posted August 29, 2015 Ok, the QuadrupedDraw didn't worked and made the entire unit invisible so I assume that EA removed it The new animationstate + locomotor and distance made the turning look a bit better but it still don't uses the legs Can you take a look on the new xml and see what I can change? also if you can please tell me if there's a way to force the mastadon to stop use the idle animations when he walking and get interrupted, it really annoy to the eyes : / <?xml version="1.0" encoding="utf-8"?> <AssetDeclaration xmlns="uri:ea.com:eala:asset"> <GameObject id="GDIMastadon" inheritFrom="BaseVehicle" SelectPortrait="Portrait_Mastodon" ButtonImage="Portrait_Mastodon" Side="SteelTalons" EditorSorting="UNIT" TransportSlotCount="1" BuildCost="5000" BuildTime="5" ThreatLevel="10" BuildFadeInOnCreateTimeSeconds="0.25s" HealthBoxScale="1.5" HealthBoxHeightOffset="10" CommandSet="GDIMastadonCommandSet" CommandPoints="100" ShockwaveResistance="100" ReinvisibilityDelay="7s" KindOf="SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS PRELOAD SCORE ATTACK_NEEDS_LINE_OF_SIGHT LARGE_RECTANGLE_PATHFIND VEHICLE UNIQUE_UNIT CAN_BE_FAVORITE_UNIT METAUNIT CAN_SHOOT_OVER_WALLS USE_STRICT_PATHING" RadarPriority="UNIT" ProductionQueueType="VEHICLE" UnitCategory="VEHICLE" WeaponCategory="CANNON" VoicePriority="250" EditorName="SteelTalonsMastadon" Description="Desc:GDIMastadon" TypeDescription="Type:GDIMastadon" MaxSimultaneousOfType="1"> <DisplayName xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance">Name:GDIMastadon</DisplayName> <GameDependency> <RequiredObject>SteelTalonsTechCenter</RequiredObject> </GameDependency> <ArmorSet Armor="GDIMARVArmor" DamageFX="VehicleDamageFX" /> <LocomotorSet Locomotor="GDIMastadonLocomotor" Condition="NORMAL" Speed="55.0" /> <SkirmishAIInformation UnitBuilderStandardCombatUnit="true" /> <Draws> <ScriptedModelDraw id="ModuleTag_Draw" ExtraPublicBone="BONE_CONTACT_POINT_01 BONE_CONTACT_POINT_02 BONE_CONTACT_POINT_03 BONE_CONTACT_POINT_04 BONE_CONTACT_POINT_05 BONE_CONTACT_POINT_06 BONE_CONTACT_POINT_07 BONE_CONTACT_POINT_08 BONE_CONTACT_POINT_09 BONE_CONTACT_POINT_10 BONE_CONTACT_POINT_11 BONE_CONTACT_POINT_12" OkToChangeModelColor="true"> <ModelConditionState ParseCondStateType="PARSE_DEFAULT"> <Model Name="W3DContainer:GUVehicleL_SKN" /> <WeaponFireFXBone WeaponSlotID="1" WeaponSlotType="PRIMARY_WEAPON" BoneName="t1_cannon" /> <WeaponLaunchBone WeaponSlotID="1" WeaponSlotType="PRIMARY_WEAPON" BoneName="t1_cannon" /> <!-- <WeaponFireFXBone WeaponSlotID="2" WeaponSlotType="PRIMARY_WEAPON" BoneName="f8af8c94" /> <WeaponLaunchBone WeaponSlotID="2" WeaponSlotType="PRIMARY_WEAPON" BoneName="f8af8c94" /> --> <WeaponFireFXBone WeaponSlotID="3" WeaponSlotType="SECONDARY_WEAPON" BoneName="aa_l_" /> <WeaponLaunchBone WeaponSlotID="3" WeaponSlotType="SECONDARY_WEAPON" BoneName="aa_l_" /> <WeaponFireFXBone WeaponSlotID="4" WeaponSlotType="SECONDARY_WEAPON" BoneName="aa_r_" /> <WeaponLaunchBone WeaponSlotID="4" WeaponSlotType="SECONDARY_WEAPON" BoneName="aa_r_" /> <Turret TurretNameKey="b_turret01" TurretPitch="b_pitch01" TurretID="1" /> <Turret TurretNameKey="b_turret06" TurretPitch="B_PITCHL" TurretID="3" /> <Turret TurretNameKey="b_turret07" TurretPitch="B_PITCHR" TurretID="4" /> </ModelConditionState> <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="FORMATION_PREVIEW"> <Model Name="W3DContainer:GUMARV_FP" /> </ModelConditionState> <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="DAMAGED USER_6"> <Model Name="W3DContainer:GUVehicleL_SKN" /> <Texture Original="GUVehicleL" New="GUVehicleL" /> </ModelConditionState> <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="REALLYDAMAGED USER_6"> <Model Name="W3DContainer:GUVehicleL_SKN" /> <Texture Original="GUVehicleL" New="GUVehicleL_D" /> </ModelConditionState> <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="DYING USER_6"> <Model Name="W3DContainer:GUVehicleL_DIEA" /> <Texture Original="GUVehicleL" New="GUVehicleL_D" /> <ParticleSysBone BoneName="chassis" FXParticleSystemTemplate="GDIDebrisSmallFire" FollowBone="true" /> <ParticleSysBone BoneName="Chassis" FXParticleSystemTemplate="GDIDebrisSmallFireDistortion" FollowBone="true" /> <ParticleSysBone BoneName="chassis" FXParticleSystemTemplate="GDIDebrisSmallSmoke" FollowBone="true" /> <ParticleSysBone BoneName="b_turret01" FXParticleSystemTemplate="GDIDebrisSmallFire" FollowBone="true" /> <ParticleSysBone BoneName="b_turret01" FXParticleSystemTemplate="GDIDebrisSmallFireDistortion" FollowBone="true" /> <ParticleSysBone BoneName="b_turret01" FXParticleSystemTemplate="GDIDebrisSmallSmoke" FollowBone="true" /> </ModelConditionState> <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="DAMAGED"> <Model Name="W3DContainer:GUVehicleL_SKN" /> </ModelConditionState> <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="REALLYDAMAGED"> <Model Name="W3DContainer:GUVehicleL_SKN" /> <Texture Original="GUVehicleL" New="GUVehicleL_D" /> </ModelConditionState> <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="DYING"> <Model Name="W3DContainer:GUVehicleL_DIEA" /> <ParticleSysBone BoneName="chassis" FXParticleSystemTemplate="GDIDebrisSmallFire" FollowBone="true" /> <ParticleSysBone BoneName="chassis" FXParticleSystemTemplate="GDIDebrisSmallFireDistortion" FollowBone="true" /> <ParticleSysBone BoneName="chassis" FXParticleSystemTemplate="GDIDebrisSmallSmoke" FollowBone="true" /> <ParticleSysBone BoneName="b_turret01" FXParticleSystemTemplate="GDIDebrisSmallFire" FollowBone="true" /> <ParticleSysBone BoneName="b_turret01" FXParticleSystemTemplate="GDIDebrisSmallFireDistortion" FollowBone="true" /> <ParticleSysBone BoneName="b_turret01" FXParticleSystemTemplate="GDIDebrisSmallSmoke" FollowBone="true" /> </ModelConditionState> <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="USER_6"> <Model Name="W3DContainer:GUVehicleL_SKN" /> <Texture Original="GUVehicleL" New="GUVehicleL" /> </ModelConditionState> <AnimationState ParseCondStateType="PARSE_DEFAULT" Flags="MAINTAIN_FRAME_ACROSS_STATES" StateName="STATE_bored"> <Animation AnimationName="GUVehicleL_BIDA" AnimationMode="LOOP" AnimationBlendTime="15" /> <Script> Prev = CurDrawablePrevAnimationState() if Prev == "STATE_SelectedPose" then CurDrawableSetTransitionAnimState("TRANS_SelectedToIdle") end CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="COMING_OUT_OF_FACTORY" StateName="STATE_built"> <Animation AnimationName="GUVehicleL_BLDA" AnimationBlendTime="0" AnimationMode="ONCE" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="DYING"> <Animation AnimationName="GUVehicleL_DIEA" AnimationMode="ONCE" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="AFFECTED_BY_EMP"> <Animation AnimationName="GUVehicleL_BIDA" AnimationMode="MANUAL" AnimationBlendTime="15" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <!-- being fixed by engineer from being a husk --> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="USER_5" StateName="STATE_Getup"> <Animation AnimationName="GUVehicleL_GTPA" AnimationBlendTime="0" AnimationMode="ONCE" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="ATTACKING TURN_LEFT_HIGH_SPEED" Flags="MAINTAIN_FRAME_ACROSS_STATES"> <Animation AnimationMode="LOOP" AnimationName="GUVehicleL_TRNLW" Distance="45"/> <FXEvent Bone="B_FOOTL" Effect="FX_GDIJuggernaughtFootprint" FireWhenSkipped="true" Frame="1"/> <FXEvent Bone="B_FOOTR" Effect="FX_GDIJuggernaughtFootprint" FireWhenSkipped="true" Frame="25"/> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="ATTACKING TURN_RIGHT_HIGH_SPEED" Flags="MAINTAIN_FRAME_ACROSS_STATES"> <Animation AnimationMode="LOOP" AnimationName="GUVehicleL_TRNRW" Distance="45"/> <FXEvent Bone="B_FOOTL" Effect="FX_GDIJuggernaughtFootprint" FireWhenSkipped="true" Frame="1"/> <FXEvent Bone="B_FOOTR" Effect="FX_GDIJuggernaughtFootprint" FireWhenSkipped="true" Frame="25"/> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="ATTACKING TURN_LEFT"> <Animation AnimationMode="LOOP" AnimationName="GUVehicleL_TRNL" Distance="45"/> <FXEvent Bone="B_FOOTL" Effect="FX_GDIJuggernaughtFootprint" FireWhenSkipped="true" Frame="0"/> <FXEvent Bone="B_FOOTR" Effect="FX_GDIJuggernaughtFootprint" FireWhenSkipped="true" Frame="20"/> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="ATTACKING TURN_RIGHT"> <Animation AnimationMode="LOOP" AnimationName="GUVehicleL_TRNR" Distance="45"/> <FXEvent Bone="B_FOOTR" Effect="FX_GDIJuggernaughtFootprint" FireWhenSkipped="true" Frame="0"/> <FXEvent Bone="B_FOOTL" Effect="FX_GDIJuggernaughtFootprint" FireWhenSkipped="true" Frame="20"/> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="TURN_LEFT_HIGH_SPEED" Flags="MAINTAIN_FRAME_ACROSS_STATES"> <Animation AnimationName="GUVehicleL_TRNLW" AnimationMode="LOOP" Distance="45" /> <FXEvent Frame="1" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTL" /> <FXEvent Frame="25" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTR" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="TURN_RIGHT_HIGH_SPEED" Flags="MAINTAIN_FRAME_ACROSS_STATES"> <Animation AnimationName="GUVehicleL_TRNRW" AnimationMode="LOOP" Distance="45" /> <FXEvent Frame="1" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTL" /> <FXEvent Frame="25" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTR" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="TURN_LEFT"> <Animation AnimationName="GUVehicleL_TRNL" AnimationMode="LOOP" /> <FXEvent Frame="0" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTL" /> <FXEvent Frame="20" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTR" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="TURN_RIGHT"> <Animation AnimationName="GUVehicleL_TRNR" AnimationMode="LOOP" /> <FXEvent Frame="0" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTR" /> <FXEvent Frame="20" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTL" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="MOVING" Flags="MAINTAIN_FRAME_ACROSS_STATES"> <Animation AnimationName="GUVehicleL_MOVA" AnimationMode="LOOP" Distance="146" AnimationSpeedFactorMin="0.8" AnimationSpeedFactorMax="1.0" AnimationBlendTime="15" /> <FXEvent Frame="1" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTL" /> <FXEvent Frame="25" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTR" /> <Script> Prev = CurDrawablePrevAnimationState() if Prev == "STATE_built" then CurDrawableSetTransitionAnimState("TRANS_built") end CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="MOVING HEALTH_PERCENT_25" Flags="MAINTAIN_FRAME_ACROSS_STATES"> <Animation AnimationName="GUVehicleL_MOVD" AnimationMode="LOOP" Distance="146" AnimationSpeedFactorMin="0.8" AnimationSpeedFactorMax="1.0" AnimationBlendTime="15" /> <FXEvent Frame="1" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTL" /> <FXEvent Frame="25" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTR" /> <Script> Prev = CurDrawablePrevAnimationState() if Prev == "STATE_built" then CurDrawableSetTransitionAnimState("TRANS_built") end CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="ATTACKING"> <Animation AnimationName="GUVEhicleL_ATKA" AnimationMode="LOOP" AnimationBlendTime="15" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <!-- SELECTED --> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="SELECTED" StateName="STATE_SelectedPose"> <Animation AnimationName="GUVehicleL_AIDA" AnimationMode="LOOP" AnimationBlendTime="15" /> <Script> Prev = CurDrawablePrevAnimationState() if Prev == "STATE_bored" then CurDrawableSetTransitionAnimState("TRANS_IdleToSelected") end CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <!-- TRANSITIONS --> <AnimationState ParseCondStateType="PARSE_TRANSITION" StateName="TRANS_IdleToSelected" Flags="MAINTAIN_FRAME_ACROSS_STATES"> <Animation AnimationName="GUVehicleL_BATA" AnimationBlendTime="10" AnimationMode="ONCE" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_TRANSITION" StateName="TRANS_SelectedToIdle" Flags="MAINTAIN_FRAME_ACROSS_STATES"> <Animation AnimationName="GUVehicleL_ABTA" AnimationBlendTime="10" AnimationMode="ONCE" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <!-- Transitions --> <AnimationState ParseCondStateType="PARSE_TRANSITION" StateName="TRANS_built"> <Animation AnimationName="GUVehicleL_BLDA" AnimationBlendTime="0" AnimationMode="ONCE" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> </ScriptedModelDraw> <SpotlightDraw id="ModuleTag_Spotlight" AttachToBoneInAnotherModule="Zt_Spine2" RefreshTime="2.0s" SweepTime="1.0s"> <ModelConditionState ParseCondStateType="PARSE_DEFAULT"> <Model Name="W3DContainer:FXspotlight" /> </ModelConditionState> <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="FORMATION_PREVIEW"> <Model Name="" /> </ModelConditionState> </SpotlightDraw> <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> <FireWeaponUpdate id="ModuleTag_Fireweapon"> <FireWeaponNugget OneShot="true" Firedelay="0.1s" WeaponName="NodNuclearTransportNuke4"/> </FireWeaponUpdate> <ProductionUpdate id="ProductionUpdateModuleTag" GiveNoXP="true"/> <HordeTransportContain id="0x9DC593B0" Slots="4" KillPassengersOnDeath="True" AllowNeutralInside="False" AllowEnemiesInside="False" AllowOwnPlayerInsideOverride="True" ObjectStatusOfContained="CAN_ATTACK UNSELECTABLE ENCLOSED" ExitSound="AudioEvent:VehicleExit" EnterSound="AudioEvent:VehicleEnter" ContainMax="4"><PassengerFilter Include="INFANTRY" Rule="ANY"/> <DieMuxData DeathTypes="ALL"/> <PassengerData BonePrefix="BONE_CONTACT_POINT_"> <Filter Include="INFANTRY"/></PassengerData> <MemberTemplateStatusInfo ObjectStatus="CAN_SPOT_FOR_BOMBARD" ThingTemplate="GDISniperSquad"/> </HordeTransportContain> <AttributeModifierPoolUpdate id="DefaultAttributeModifierPoolUpdate"/> <SquishCollide id ="DefaultSquishCollide"/> <FireWeaponWhenDead id="ModuleTag_CatalystDeathWeapon" InitiallyActive="true" DeathWeapon="CatalystInfantryDeathWeapon" ContinueToBezierDestination="false"> <DieMuxData DeathTypes="CATALYST" /> </FireWeaponWhenDead> <!--Heroic level units auto healing--> <AutoHealBehavior id="Upgrade_HeroicHeal" InitiallyActive="false" HealOnlyIfNotInCombat="false" HealOnlyIfNotUnderAttack="false" StartHealingDelay="1s" HealingAmount="100" HealingDelay=".5s"> <TriggeredBy>Upgrade_Veterancy_HEROIC</TriggeredBy> </AutoHealBehavior> <AttributeModifierUpgrade id="ModuleTag_AttributeModifierUpgradeMUCSpeed" AttributeModifier="Modifier_MultifunctionUpgradeCenterSpeed"> <TriggeredBy>Upgrade_MultifunctionUpgradeCenterSpeed</TriggeredBy> </AttributeModifierUpgrade> <AttributeModifierUpgrade id="ModuleTag_AttributeModifierUpgradeMUCDamage" AttributeModifier="Modifier_MultifunctionUpgradeCenterDamage"> <TriggeredBy>Upgrade_MultifunctionUpgradeCenterDamage</TriggeredBy> </AttributeModifierUpgrade> <AttributeModifierUpgrade id="ModuleTag_AttributeModifierUpgradeMUCArmor" AttributeModifier="Modifier_MultifunctionUpgradeCenterArmor"> <TriggeredBy>Upgrade_MultifunctionUpgradeCenterArmor</TriggeredBy> </AttributeModifierUpgrade> <StancesBehavior id="ModuleTag_Stance" StanceTemplate="Generic" /> <StatusBitsUpgrade id="0x21DB4E8C" StatusToSet="RIDER2"> <TriggeredBy>Everyone_Faction</TriggeredBy> </StatusBitsUpgrade> <LevelUpUpgrade id="ModuleTag_LevelUpUpgrade_Veteran" LevelCap="4" LevelsToGain="1"> <TriggeredBy>Upgrade_ProductionVeterancy_VETERAN</TriggeredBy> </LevelUpUpgrade> <LevelUpUpgrade id="ModuleTag_LevelUpUpgrade_Elite" LevelCap="4" LevelsToGain="2"> <TriggeredBy>Upgrade_ProductionVeterancy_ELITE</TriggeredBy> </LevelUpUpgrade> <LevelUpUpgrade id="ModuleTag_LevelUpUpgrade_Heroic" LevelCap="4" LevelsToGain="3"> <TriggeredBy>Upgrade_ProductionVeterancy_HEROIC</TriggeredBy> </LevelUpUpgrade> <InvisibilityUpdate id="3BD7F2F5" Options="" UpdatePeriod="0.5s" BroadcastRange="0" OpacityMin="100%"> <InvisibilityNugget ForbiddenConditions="PREATTACK_A FIRING_A FIRING_OR_PREATTACK_A RELOADING_A PREATTACK_B FIRING_B FIRING_OR_PREATTACK_B RELOADING_B PREATTACK_C FIRING_C FIRING_OR_PREATTACK_C RELOADING_C USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C" ForbiddenConditionExceptions="" ForbiddenWeaponSets="" ForbiddenStatus="IS_FIRING_WEAPON USING_ABILITY IS_AIMING_WEAPON SPECIAL_ABILITY_PACKING_UNPACKING_OR_USING" CamouflageLevel="0" InvisibilityType="INVALID" Options="" EnteringStealthFX="" LeavingStealthFX="" HintDetectableStates="IS_ATTACKING" NoStealthForAttackWindow="0s" /> <RequiresUpgrade>Upgrade_CloakingFieldInvisibility</RequiresUpgrade> </InvisibilityUpdate> <!-- Cloaking Field --> <InvisibilityUpdate id="ModuleTag_Invisibility" UpdatePeriod="0.5s"> <InvisibilityNugget ForbiddenStatus="" HintDetectableStates="" /> <RequiresUpgrade>Upgrade_CloakingFieldInvisibility</RequiresUpgrade> </InvisibilityUpdate> <StealthUpgrade id="ModuleTag_InvisibilityTrigger"> <TriggeredBy>Upgrade_CloakingFieldInvisibility</TriggeredBy> </StealthUpgrade> <TemporarilyDefectUpdate id="ModuleTag_TemporarilyDefect" DefectionFrameCount="300" /> <WeaponSetUpdate id="ModuleTag_WeaponSetUpdate"> <WeaponSlotTurret ID="1" InterleavedStyle="INTERLEAVE_FIRST_AVAILABLE" WeaponChoiceCriteria="PREFER_MOST_DAMAGE" AllowInterleavedFiring="False"> <Weapon Ordering="PRIMARY_WEAPON" Template="GDIMastadonCannon" Upgrade="" ObjectStatus="" IsPlayerUpgradePermanent="False" /> <TurretSettings TurretTurnRate="60" TurretPitchRate="20" MinimumPitch="-15d" PitchHeight="50%" ControlledWeaponSlots="" MinIdleScanTime="1s" MaxIdleScanTime="5s" MinIdleScanAngle="0" MaxIdleScanAngle="90" MaxDeflectionClockwise="120d" MaxDeflectionAntiClockwise="120d" NaturalTurretAngle="0d" AllowsPitch="True" RecenterWhenOutOfTurnRange="True"> <TurretAITargetChooserData IdleScanDelay="0.8s" ReacquireDelay="5s" StartupDelay="0s" SympathyRange="25" CheckVisionRange="False" CanPickDynamicTargets="True" RotateToTargetWhenAiming="True" CanAutoAcquireNonAutoAcquirable="False" TargetingCompareList="DefaultTurretTargetingCompareList" ActiveWhenPerformingSpecialAbility="False" CanAcquireDynamicIfAssignedOutOfRange="True" CanPickTargetsOutOfTurretAngle="False" /> </TurretSettings> </WeaponSlotTurret> <!-- <WeaponSlotHardpoint ID="1" AllowInterleavedFiring="true" InterleavedStyle="INTERLEAVE_RANDOM"> <Weapon Ordering="PRIMARY_WEAPON" Template="GDIMastadonCannon" /> </WeaponSlotHardpoint> <WeaponSlotHardpoint ID="2" AllowInterleavedFiring="true" InterleavedStyle="INTERLEAVE_RANDOM"> <Weapon Ordering="PRIMARY_WEAPON" Template="GDIMastadonCannon" /> </WeaponSlotHardpoint> --> <WeaponSlotHierarchicalTurret ParentID="1" AllowInterleavedFiring="true" InterleavedStyle="INTERLEAVE_RANDOM" ID="3"> <Weapon IsPlayerUpgradePermanent="False" ObjectStatus="" Upgrade="" Template="GDIMastadonRocketPods" Ordering="SECONDARY_WEAPON"/> <TurretSettings RecenterWhenOutOfTurnRange="True" AllowsPitch="False" NaturalTurretAngle="0d" MaxDeflectionAntiClockwise="99.99999d" MaxDeflectionClockwise="20d" MaxIdleScanAngle="90" MinIdleScanAngle="0" MaxIdleScanTime="5s" MinIdleScanTime="1s" ControlledWeaponSlots="" PitchHeight="50%" MinimumPitch="0d" TurretPitchRate="0" TurretTurnRate="60"> <TurretAITargetChooserData CanPickTargetsOutOfTurretAngle="False" CanAcquireDynamicIfAssignedOutOfRange="True" ActiveWhenPerformingSpecialAbility="False" TargetingCompareList="DefaultTurretTargetingCompareList" CanAutoAcquireNonAutoAcquirable="False" RotateToTargetWhenAiming="True" CanPickDynamicTargets="True" CheckVisionRange="False" SympathyRange="25" StartupDelay="0s" ReacquireDelay="5s" IdleScanDelay="0.8s"/> </TurretSettings> </WeaponSlotHierarchicalTurret> <WeaponSlotHierarchicalTurret ParentID="1" AllowInterleavedFiring="true" InterleavedStyle="INTERLEAVE_RANDOM" ID="4"> <Weapon IsPlayerUpgradePermanent="False" ObjectStatus="" Upgrade="" Template="GDIMastadonRocketPods" Ordering="SECONDARY_WEAPON"/> <TurretSettings RecenterWhenOutOfTurnRange="True" AllowsPitch="False" NaturalTurretAngle="0d" MaxDeflectionAntiClockwise="20d" MaxDeflectionClockwise="99.99999d" MaxIdleScanAngle="90" MinIdleScanAngle="0" MaxIdleScanTime="5s" MinIdleScanTime="1s" ControlledWeaponSlots="" PitchHeight="50%" MinimumPitch="0d" TurretPitchRate="0" TurretTurnRate="60"> <TurretAITargetChooserData CanPickTargetsOutOfTurretAngle="False" CanAcquireDynamicIfAssignedOutOfRange="True" ActiveWhenPerformingSpecialAbility="False" TargetingCompareList="DefaultTurretTargetingCompareList" CanAutoAcquireNonAutoAcquirable="False" RotateToTargetWhenAiming="True" CanPickDynamicTargets="True" CheckVisionRange="False" SympathyRange="25" StartupDelay="0s" ReacquireDelay="5s" IdleScanDelay="0.8s"/> </TurretSettings> </WeaponSlotHierarchicalTurret> </WeaponSetUpdate> <LaserState id="ModuleTag_LaserState" LaserId="1" /> <Physics id="ModuleTag_Physics" /> <CreateObjectDie id="ModuleTag_CreateObjectDie" CreationList=""> <DieMuxData DeathTypes="ALL" /> </CreateObjectDie> <DestroyDie id="ModuleTag_Die"> <DieMuxData DeathTypes="ALL" /> </DestroyDie> <FXListBehavior id="ModuleTag_FXList"> <DieMuxData DeathTypes="ALL" /> <Event Index="onDeath" FX="FX_AwesomeXplosion" /> </FXListBehavior> <SlowDeath id="ModuleTag_Death" DestructionDelay="15s" SinkRate="1.5" SinkDelay="5s"> <OCL Type="INITIAL"> <OCL>OCL_GDIMARVDebris</OCL> </OCL> <DieMuxData DeathTypes="ALL" DeathTypesForbidden="TOPPLED"/> <Sound Type="INITIAL" List="Mastodon_VoiceDie"/> </SlowDeath> <StatusBitsUpgrade id="ModuleTag_VeterancyUpgrade" StatusToSet="WEAPON_UPGRADED_01"> <TriggeredBy>Upgrade_Veterancy_HEROIC</TriggeredBy> </StatusBitsUpgrade> </Behaviors> <AI> <AIUpdate id="ModuleTag_AI" AILuaEventsList="GDIMastodonFunctions" AutoAcquireEnemiesWhenIdle="YES"> <UnitAITargetChooserData TargetingCompareList="DefaultTargetingCompareList" RotateToTargetWhenAiming="True" CanPickDynamicTargets="False" SympathyRange="100"/> </AIUpdate> </AI> <Body> <ActiveBody id="ModuleTag_Body" MaxHealth="22500" /> </Body> <ClientBehaviors> <AnimationSoundClientBehavior id="ModuleTag_ASCB"> <Sound Sound="AudioEvent:Mastodon_Footstep" Animation="GUVehicleL_TRNL" Frame="25 50 75 100 125 150" /> <Sound Sound="AudioEvent:Mastodon_Footstep" Animation="GUVehicleL_TRNR" Frame="25 50 75 100 125 150" /> <Sound Sound="AudioEvent:Mastodon_Footstep" Animation="GUVehicleL_TRNLW" Frame="25 50 75 100 125 150" /> <Sound Sound="AudioEvent:Mastodon_Footstep" Animation="GUVehicleL_TRNRW" Frame="25 50 75 100 125 150" /> <Sound Sound="AudioEvent:Mastodon_Footstep" Animation="GUVehicleL_MOVA" Frame="25 50 75 100 125 150" /> <Sound Sound="AudioEvent:Mastodon_Footstep" Animation="GUVehicleL_MOVD" Frame="25 50 75 100 125 150" /> <Sound Frame="22 44" Animation="GUVehicleL_ABTA" Sound="AudioEvent:Mastodon_SelectedToIdle_ABTA"/> <Sound Frame="16 31" Animation="GUVehicleL_BATA" Sound="AudioEvent:Mastodon_SelectedToIdle_BATA"/> <Sound Frame="16 31" Animation="GUVehicleL_BLDA" Sound="AudioEvent:Mastodon_COMING_OUT_OF_FACTORY"/> </AnimationSoundClientBehavior> </ClientBehaviors> <ModelConditionAudioLoopClientBehavior id="0x7B291969"> <ModelConditionSound Sound="AudioEvent:GDI_RailgunAccelerator_EnergyStripeLoop" RequiredFlags="USING_WEAPON_C"/> </ModelConditionAudioLoopClientBehavior> <Geometry IsSmall="false"> <Shape Type= "BOX" MajorRadius = "29.6026" MinorRadius = "17.0185" Height = "17.9773" ContactPointGeneration="VEHICLE"> <Offset x = "-18.3624" y = "0.0492744" z = "32.9796" /> </Shape> <Shape Type= "BOX" MajorRadius = "21.2712" MinorRadius = "8.8983" Height = "17.2881" ContactPointGeneration="VEHICLE"> <Offset x = "26.1552" y = "-29.3933" z = "0.0" /> </Shape> <Shape Type= "BOX" MajorRadius = "21.7525" MinorRadius = "8.56917" Height = "17.378" ContactPointGeneration="VEHICLE"> <Offset x = "25.4914" y = "29.1596" z = "9.53674e-007" /> </Shape> <Shape Type= "BOX" MajorRadius = "21.0169" MinorRadius = "20.2542" Height = "20.678" ContactPointGeneration="VEHICLE"> <Offset x = "23.934" y = "0.00376129" z = "-9.53674e-007" /> </Shape> <Shape Type= "BOX" MajorRadius = "30.3217" MinorRadius = "19.8949" Height = "32.9622" ContactPointGeneration="VEHICLE"> <Offset x = "-28.5169" y = "-0.0588036" z = "9.53674e-007" /> </Shape> <Shape Type= "BOX" MajorRadius = "26.8461" MinorRadius = "11.865" Height = "24.6888" ContactPointGeneration="VEHICLE"> <Offset x = "-26.0001" y = "-32.2981" z = "0.0" /> </Shape> <Shape Type= "BOX" MajorRadius = "26.2468" MinorRadius = "11.3856" Height = "24.9285" ContactPointGeneration="VEHICLE"> <Offset x = "-25.8802" y = "31.7012" z = "0.0" /> </Shape> </Geometry> <AudioArrayVoice> <AudioEntry Sound="AudioEvent:ALL_Mastodon_VoiceAttack" AudioType="voiceAttack" /> <AudioEntry AudioType="voiceCreated" Sound="Multisound:ALL_Mastodon_VoiceCreateMS"/> <AudioEntry Sound="AudioEvent:ALL_Mastodon_VoiceMove" AudioType="voiceMove" /> <AudioEntry AudioType="voiceGuard" Sound="AudioEvent:ALL_Mastodon_VoiceMove"/> <AudioEntry Sound="AudioEvent:ALL_Mastodon_VoiceMoveAttack" AudioType="voiceAttackAfterMoving" /> <AudioEntry Sound="AudioEvent:ALL_Mastodon_VoiceRetreat" AudioType="voiceRetreatToCastle" /> <AudioEntry Sound="Multisound:Mastodon_VoiceSelectMS" AudioType="voiceSelect" /> <AudioEntry Sound="Multisound:Mastodon_VoiceSelectBattleMS" AudioType="voiceSelectBattle" /> </AudioArrayVoice> <AudioArraySound> <AudioEntry Sound="AudioEvent:VehicleCrush" AudioType="soundCrushing" /> <AudioEntry AudioType="soundMoveStart" Sound="Multisound:Mastodon_MoveStartMS"/> <AudioEntry AudioType="soundAmbient" Sound="AudioEvent:Mastodon_IdleLoop"/> <AudioEntry AudioType="soundMoveLoop" Sound="AudioEvent:Mastodon_Land_MoveLoop"/> </AudioArraySound> <EvaEvents EvaEventDieOwner="UnitLost" EvaEventProductionStarted="UnitConstructionStarted" EvaEventDamagedOwner="UnitUnderAttack" EvaEventDamagedFromShroudedSourceOwner="UnitUnderAttackFromShroudedUnit" EvaEventDamagedByFireOwner="GenericUnitBeingBurned" EvaEventAmbushed="UnitAmbushed" EvaEventSecondDamageFarFromFirstScanRange="600" EvaEventSecondDamageFarFromFirstTimeoutMS="31000" EvaEnemyObjectSightedEvent="GenericEnemyUnitSighted" EvaEventDetectedEnemy="EnemyStealthUnitDiscovered" EvaEventAvailableForProduction="NewConstructionOptions" EvaEventBuildOnHold="BuildOnHold" EvaEventBuildCancelled="BuildCancelled" EvaEventPromotedOwner="UnitPromoted" /> <VisionInfo ShroudClearingRange="400" VisionRange="350"/> <CrusherInfo CrushKnockback="0" CrushZFactor="1" MinCrushVelocityPercent="1%" CrushDecelerationPercent="0%" CrushWeapon="" CrushRevengeWeapon="" CrusherLevel="4" CrushableLevel="4" MountedCrusherLevel="255" MountedCrushableLevel="255" CrushEqualLevelProps="False" UseCrushAttack="True" CrushOnlyWhileCharging="False" CrushAllies="False" /> </GameObject> </AssetDeclaration> Here the locomotor <?xml version="1.0" encoding="utf-8"?> <AssetDeclaration xmlns="uri:ea.com:eala:asset"> <LocomotorTemplate id="GDIMastadonLocomotor" Surfaces="GROUND RUBBLE CRUSHABLE_OBSTACLE" MaxSpeedDamaged="75%" TurnTimeSeconds="4s" TurnTimeDamagedSeconds="8s" SlowTurnRadius="3" FastTurnRadius="30" AccelerationSeconds="0.21s" BrakingSeconds="0.21s" MinTurnSpeed="50%" Appearance="TREADS" value="FOUR_LEGS_HUGE" FormationPriority="NO_FORMATION" BackingUpSpeed="33%" BackingUpAngle="0.5" StickToGround="True" /> </AssetDeclaration> Share this post Link to post
Ravendark 46 Posted August 29, 2015 i am basicly out of suggestions, can't think of anything atm. Share this post Link to post
Egozi44 28 Posted August 29, 2015 I see, Adding the new animationstate made him act a bit different when he turn around but he still don't move his legs, is it matter of change stuff in the distance and with the locomotor? I think that Scrin epic unit move it legs when he turn... or it was the redeemer, Oh and also I try something with the mastodon I try to add a pod that come from the sky and then spawn him, for now I don't use the c&c4 pod since I don't sure how to make it work and if I even used the right model since it seem that EA mixed it with the Crawlers models and it confused me : / But the real issue for now is that the pod can be train multiple times because I don't use it as Special power I thought that SP will be too much unique for a epic unit so I tried to make the Marv facility to build the pod (gave it dec and pic of the mastodon) and then make the pod to spawn the mastodon But thanks to the pod and the mastodon being two different units the Unique_unit won't work and will let you build the pod many times (but won't spawn the mastodon again lol since he already in the field and also use Unique_unit) So do you have any idea how I can make the pod trainable Only when there's not any mastodon in the field? Support power with Scrin mothership style can be cool but can be too much unique and have it own balance issues for epic unit.... So it the last resort Share this post Link to post
Stygs 25 Posted August 30, 2015 Not sure about the problem with the legs without some pictures or a video, but some thing I noticed at your code: CurDrawableShowSubObject("GUN_UPGRADE") Thats not a good way to hide/show stuff. Its better to add "RetainSubObjects="true" to most Modelconditionstates like the other units have. Flags="MAINTAIN_FRAME_ACROSS_STATES" Should also be removed, as there is no reason to have it in all these states. "MOVING HEALTH_PERCENT_25" This state wont work. It needs to be defined BEFORE the normal MOVING state and I think HEALTH_PERCENT_25 is not working by default, you need another module to trigger it. Its better to just use DAMAGE/REALLYDAMAGED. Appearance="TREADS" value="FOUR_LEGS_HUGE" I dont know much about WED, but I am pretty sure thats WRONG. Appearance is either TREADS or FOUR_LEGS_HUGE, not both. Most of these options are bugged anyway in TW, hence its best to use TWO_LEGS, THREADS, HOVER and WINGS. TWA Locomotor: <LocomotorTemplate id="GDIMastodonLocomotor" Surfaces="GROUND RUBBLE CRUSHABLE_OBSTACLE" TurnTimeSeconds="3.5s" TurnTimeDamagedSeconds="3.5s" MaxSpeedDamaged="75%" AccelerationSeconds="0.3s" BrakingSeconds="0.3s" SlowTurnRadius="5.0" FastTurnRadius="50.0" BehaviorZ="NO_MOTIVE_FORCE" Appearance="TREADS" PitchStiffness="0.5" RollStiffness="0.25" PitchDamping="0.8" RollDamping="0.3" ForwardAccelerationPitchFactor="0.3" LateralAccelerationRollFactor="0.0" ClampOrientationToPathTangent="true" ReorientIfTurnTooSharp="true" /> Share this post Link to post
Ravendark 46 Posted August 30, 2015 I see, Adding the new animationstate made him act a bit different when he turn around but he still don't move his legs, is it matter of change stuff in the distance and with the locomotor? I think that Scrin epic unit move it legs when he turn... or it was the redeemer, Oh and also I try something with the mastodon I try to add a pod that come from the sky and then spawn him, for now I don't use the c&c4 pod since I don't sure how to make it work and if I even used the right model since it seem that EA mixed it with the Crawlers models and it confused me : / But the real issue for now is that the pod can be train multiple times because I don't use it as Special power I thought that SP will be too much unique for a epic unit so I tried to make the Marv facility to build the pod (gave it dec and pic of the mastodon) and then make the pod to spawn the mastodon But thanks to the pod and the mastodon being two different units the Unique_unit won't work and will let you build the pod many times (but won't spawn the mastodon again lol since he already in the field and also use Unique_unit) So do you have any idea how I can make the pod trainable Only when there's not any mastodon in the field? Support power with Scrin mothership style can be cool but can be too much unique and have it own balance issues for epic unit.... So it the last resort the mother ship uses this to limit how many it can spawn, you would add something more or less the same to your mastodont <GrantUpgradeCreate id="ModuleTag_AddMotherShipUpgrade" UpgradeToGrant="Upgrade_MotherShipBuilt" /> <UpgradeDie id="ModuleTag_RemoveMotherShipUpgrade" /** if the unit dies it removes the following upgrade **/ UpgradeId="Upgrade_MotherShipBuilt"> <DieMuxData DeathTypes="ALL" /> </UpgradeDie> and it uses that upgrade in it gamedependancy for its specialpower, but you can sue that same dependancy in your droppod aswel: <GameDependency> <ForbiddenUpgrade>Upgrade_MotherShipBuilt</ForbiddenUpgrade> </GameDependency> Share this post Link to post
Egozi44 28 Posted August 30, 2015 (edited) Not sure about the problem with the legs without some pictures or a video, but some thing I noticed at your code: CurDrawableShowSubObject("GUN_UPGRADE") Thats not a good way to hide/show stuff. Its better to add "RetainSubObjects="true" to most Modelconditionstates like the other units have. I see, where I need to add it though? I think I saw it on some units I moded before, don't remember which though I will upload a video or GIF later if you want, but it look really similar to how the mammoth moves when he shoot on moving target that within his range and just make him rotate while he keep shooting on it Flags="MAINTAIN_FRAME_ACROSS_STATES" Should also be removed, as there is no reason to have it in all these states. I think I saw a bit of imporovment thanks to that, from where should I remove it? from all states aside the "Moving" state? "MOVING HEALTH_PERCENT_25" This state wont work. It needs to be defined BEFORE the normal MOVING state and I think HEALTH_PERCENT_25 is not working by default, you need another module to trigger it. Its better to just use DAMAGE/REALLYDAMAGED. Yea it a left over from zocom7 or Gdi_commado xml, it supposed to change the mastadon animation to damage moving animation when it really damage, the HEALTH_PERCENT_25 indeed don't work but when I use REALLYDAMAGED before it end up look really werid, I didn't knew it should be placed before the normal moving state though Do I need to place it above the normal moving state and change it to Moving_REALLYDAMAGED ? is there anything else you know aside the "REALLYDAMAGED" that should use that state only under low health? Appearance="TREADS" value="FOUR_LEGS_HUGE" I dont know much about WED, but I am pretty sure thats WRONG. Appearance is either TREADS or FOUR_LEGS_HUGE, not both. Most of these options are bugged anyway in TW, hence its best to use TWO_LEGS, THREADS, HOVER and WINGS. Yea I sort of was surprise that it didn't crushed, so I was like "well as long as it work....." But I think the TWA's Locomotor will be better, can I use it? Edit, here the updated xml <?xml version="1.0" encoding="utf-8"?> <AssetDeclaration xmlns="uri:ea.com:eala:asset"> <GameObject id="GDIMastadon" inheritFrom="BaseVehicle" SelectPortrait="Portrait_Mastodon" ButtonImage="Portrait_Mastodon" Side="SteelTalons" EditorSorting="UNIT" TransportSlotCount="1" BuildCost="5000" BuildTime="50" ThreatLevel="10" BuildFadeInOnCreateTimeSeconds="0.25s" HealthBoxScale="1.5" HealthBoxHeightOffset="10" CommandSet="GDIMastadonCommandSet" CommandPoints="100" ShockwaveResistance="100" ReinvisibilityDelay="7s" KindOf="SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS PRELOAD SCORE ATTACK_NEEDS_LINE_OF_SIGHT LARGE_RECTANGLE_PATHFIND VEHICLE UNIQUE_UNIT CAN_BE_FAVORITE_UNIT METAUNIT CAN_SHOOT_OVER_WALLS USE_STRICT_PATHING" RadarPriority="UNIT" ProductionQueueType="VEHICLE" UnitCategory="VEHICLE" WeaponCategory="CANNON" VoicePriority="250" EditorName="SteelTalonsMastadon" Description="Desc:GDIMastadon" TypeDescription="Type:GDIMastadon" MaxSimultaneousOfType="1"> <DisplayName xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance">Name:GDIMastadon</DisplayName> <GameDependency> <RequiredObject>SteelTalonsTechCenter</RequiredObject> </GameDependency> <ArmorSet Armor="GDIMARVArmor" DamageFX="VehicleDamageFX" /> <LocomotorSet Locomotor="GDIMastadonLocomotor" Condition="NORMAL" Speed="55.0" /> <SkirmishAIInformation UnitBuilderStandardCombatUnit="true" /> <Draws> <ScriptedModelDraw id="ModuleTag_Draw" ExtraPublicBone="BONE_CONTACT_POINT_01 BONE_CONTACT_POINT_02 BONE_CONTACT_POINT_03 BONE_CONTACT_POINT_04 BONE_CONTACT_POINT_05 BONE_CONTACT_POINT_06 BONE_CONTACT_POINT_07 BONE_CONTACT_POINT_08 BONE_CONTACT_POINT_09 BONE_CONTACT_POINT_10 BONE_CONTACT_POINT_11 BONE_CONTACT_POINT_12" OkToChangeModelColor="true"> <ModelConditionState ParseCondStateType="PARSE_DEFAULT" RetainSubObjects="True"> <Model Name="W3DContainer:GUVehicleL_SKN" /> <WeaponFireFXBone WeaponSlotID="1" WeaponSlotType="PRIMARY_WEAPON" BoneName="t1_cannon" /> <WeaponLaunchBone WeaponSlotID="1" WeaponSlotType="PRIMARY_WEAPON" BoneName="t1_cannon" /> <!-- <WeaponFireFXBone WeaponSlotID="2" WeaponSlotType="PRIMARY_WEAPON" BoneName="f8af8c94" /> <WeaponLaunchBone WeaponSlotID="2" WeaponSlotType="PRIMARY_WEAPON" BoneName="f8af8c94" /> --> <WeaponFireFXBone WeaponSlotID="3" WeaponSlotType="SECONDARY_WEAPON" BoneName="aa_l_" /> <WeaponLaunchBone WeaponSlotID="3" WeaponSlotType="SECONDARY_WEAPON" BoneName="aa_l_" /> <WeaponFireFXBone WeaponSlotID="4" WeaponSlotType="SECONDARY_WEAPON" BoneName="aa_r_" /> <WeaponLaunchBone WeaponSlotID="4" WeaponSlotType="SECONDARY_WEAPON" BoneName="aa_r_" /> <Turret TurretNameKey="b_turret01" TurretPitch="b_pitch01" TurretID="1" /> <Turret TurretNameKey="b_turret06" TurretPitch="B_PITCHL" TurretID="3" /> <Turret TurretNameKey="b_turret07" TurretPitch="B_PITCHR" TurretID="4" /> </ModelConditionState> <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="FORMATION_PREVIEW"> <Model Name="W3DContainer:GUMARV_FP" /> </ModelConditionState> <ModelConditionState ParseCondStateType="PARSE_NORMAL" RetainSubObjects="True" ConditionsYes="DAMAGED USER_6"> <Model Name="W3DContainer:GUVehicleL_SKN" /> <Texture Original="GUVehicleL" New="GUVehicleL" /> </ModelConditionState> <ModelConditionState ParseCondStateType="PARSE_NORMAL" RetainSubObjects="True" ConditionsYes="REALLYDAMAGED USER_6"> <Model Name="W3DContainer:GUVehicleL_SKN" /> <Texture Original="GUVehicleL" New="GUVehicleL_D" /> </ModelConditionState> <ModelConditionState ParseCondStateType="PARSE_NORMAL" RetainSubObjects="True" ConditionsYes="DYING USER_6"> <Model Name="W3DContainer:GUVehicleL_DIEA" /> <Texture Original="GUVehicleL" New="GUVehicleL_D" /> <ParticleSysBone BoneName="chassis" FXParticleSystemTemplate="GDIDebrisSmallFire" FollowBone="true" /> <ParticleSysBone BoneName="Chassis" FXParticleSystemTemplate="GDIDebrisSmallFireDistortion" FollowBone="true" /> <ParticleSysBone BoneName="chassis" FXParticleSystemTemplate="GDIDebrisSmallSmoke" FollowBone="true" /> <ParticleSysBone BoneName="b_turret01" FXParticleSystemTemplate="GDIDebrisSmallFire" FollowBone="true" /> <ParticleSysBone BoneName="b_turret01" FXParticleSystemTemplate="GDIDebrisSmallFireDistortion" FollowBone="true" /> <ParticleSysBone BoneName="b_turret01" FXParticleSystemTemplate="GDIDebrisSmallSmoke" FollowBone="true" /> </ModelConditionState> <ModelConditionState ParseCondStateType="PARSE_NORMAL" RetainSubObjects="True" ConditionsYes="DAMAGED"> <Model Name="W3DContainer:GUVehicleL_SKN" /> </ModelConditionState> <ModelConditionState ParseCondStateType="PARSE_NORMAL" RetainSubObjects="True" ConditionsYes="REALLYDAMAGED"> <Model Name="W3DContainer:GUVehicleL_SKN" /> <Texture Original="GUVehicleL" New="GUVehicleL_D" /> </ModelConditionState> <ModelConditionState ParseCondStateType="PARSE_NORMAL" RetainSubObjects="True" ConditionsYes="DYING"> <Model Name="W3DContainer:GUVehicleL_DIEA" /> <ParticleSysBone BoneName="chassis" FXParticleSystemTemplate="GDIDebrisSmallFire" FollowBone="true" /> <ParticleSysBone BoneName="chassis" FXParticleSystemTemplate="GDIDebrisSmallFireDistortion" FollowBone="true" /> <ParticleSysBone BoneName="chassis" FXParticleSystemTemplate="GDIDebrisSmallSmoke" FollowBone="true" /> <ParticleSysBone BoneName="b_turret01" FXParticleSystemTemplate="GDIDebrisSmallFire" FollowBone="true" /> <ParticleSysBone BoneName="b_turret01" FXParticleSystemTemplate="GDIDebrisSmallFireDistortion" FollowBone="true" /> <ParticleSysBone BoneName="b_turret01" FXParticleSystemTemplate="GDIDebrisSmallSmoke" FollowBone="true" /> </ModelConditionState> <ModelConditionState ParseCondStateType="PARSE_NORMAL" RetainSubObjects="True" ConditionsYes="USER_6"> <Model Name="W3DContainer:GUVehicleL_SKN" /> <Texture Original="GUVehicleL" New="GUVehicleL" /> </ModelConditionState> <AnimationState ParseCondStateType="PARSE_DEFAULT" Flags="RANDOMSTART" StateName="STATE_bored"> <Animation AnimationName="GUVehicleL_BIDA" AnimationMode="LOOP" AnimationBlendTime="15" /> <Script> Prev = CurDrawablePrevAnimationState() if Prev == "STATE_SelectedPose" then CurDrawableSetTransitionAnimState("TRANS_SelectedToIdle") end CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="COMING_OUT_OF_FACTORY" StateName="STATE_built"> <Animation AnimationName="GUVehicleL_BLDA" AnimationBlendTime="0" AnimationMode="ONCE" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="DYING"> <Animation AnimationName="GUVehicleL_DIEA" AnimationMode="ONCE" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="AFFECTED_BY_EMP"> <Animation AnimationName="GUVehicleL_BIDA" AnimationMode="MANUAL" AnimationBlendTime="15" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <!-- being fixed by engineer from being a husk --> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="USER_5" StateName="STATE_Getup"> <Animation AnimationName="GUVehicleL_GTPA" AnimationBlendTime="0" AnimationMode="ONCE" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="ATTACKING TURN_LEFT_HIGH_SPEED" Flags="MAINTAIN_FRAME_ACROSS_STATES"> <Animation AnimationMode="LOOP" AnimationName="GUVehicleL_TRNLW" Distance="45"/> <FXEvent Bone="B_FOOTL" Effect="FX_GDIJuggernaughtFootprint" FireWhenSkipped="true" Frame="1"/> <FXEvent Bone="B_FOOTR" Effect="FX_GDIJuggernaughtFootprint" FireWhenSkipped="true" Frame="25"/> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="ATTACKING TURN_RIGHT_HIGH_SPEED" Flags="MAINTAIN_FRAME_ACROSS_STATES"> <Animation AnimationMode="LOOP" AnimationName="GUVehicleL_TRNRW" Distance="45"/> <FXEvent Bone="B_FOOTL" Effect="FX_GDIJuggernaughtFootprint" FireWhenSkipped="true" Frame="1"/> <FXEvent Bone="B_FOOTR" Effect="FX_GDIJuggernaughtFootprint" FireWhenSkipped="true" Frame="25"/> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="ATTACKING TURN_LEFT"> <Animation AnimationMode="LOOP" AnimationName="GUVehicleL_TRNL" Distance="45"/> <FXEvent Bone="B_FOOTL" Effect="FX_GDIJuggernaughtFootprint" FireWhenSkipped="true" Frame="0"/> <FXEvent Bone="B_FOOTR" Effect="FX_GDIJuggernaughtFootprint" FireWhenSkipped="true" Frame="20"/> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="ATTACKING TURN_RIGHT"> <Animation AnimationMode="LOOP" AnimationName="GUVehicleL_TRNR" Distance="45"/> <FXEvent Bone="B_FOOTR" Effect="FX_GDIJuggernaughtFootprint" FireWhenSkipped="true" Frame="0"/> <FXEvent Bone="B_FOOTL" Effect="FX_GDIJuggernaughtFootprint" FireWhenSkipped="true" Frame="20"/> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="TURN_LEFT_HIGH_SPEED" Flags="MAINTAIN_FRAME_ACROSS_STATES"> <Animation AnimationName="GUVehicleL_TRNLW" AnimationMode="LOOP" Distance="45" /> <FXEvent Frame="1" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTL" /> <FXEvent Frame="25" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTR" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="TURN_RIGHT_HIGH_SPEED" Flags="MAINTAIN_FRAME_ACROSS_STATES"> <Animation AnimationName="GUVehicleL_TRNRW" AnimationMode="LOOP" Distance="45" /> <FXEvent Frame="1" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTL" /> <FXEvent Frame="25" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTR" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="TURN_LEFT"> <Animation AnimationName="GUVehicleL_TRNL" AnimationMode="LOOP" /> <FXEvent Frame="0" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTL" /> <FXEvent Frame="20" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTR" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="TURN_RIGHT"> <Animation AnimationName="GUVehicleL_TRNR" AnimationMode="LOOP" /> <FXEvent Frame="0" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTR" /> <FXEvent Frame="20" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTL" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="MOVING" Flags="MAINTAIN_FRAME_ACROSS_STATES"> <Animation AnimationName="GUVehicleL_MOVA" AnimationMode="LOOP" Distance="146" AnimationSpeedFactorMin="0.8" AnimationSpeedFactorMax="1.0" AnimationBlendTime="15" /> <FXEvent Frame="1" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTL" /> <FXEvent Frame="25" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTR" /> <Script> Prev = CurDrawablePrevAnimationState() if Prev == "STATE_built" then CurDrawableSetTransitionAnimState("TRANS_built") end CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="MOVING HEALTH_PERCENT_25" Flags="MAINTAIN_FRAME_ACROSS_STATES"> <Animation AnimationName="GUVehicleL_MOVD" AnimationMode="LOOP" Distance="146" AnimationSpeedFactorMin="0.8" AnimationSpeedFactorMax="1.0" AnimationBlendTime="15" /> <FXEvent Frame="1" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTL" /> <FXEvent Frame="25" FireWhenSkipped="true" Effect="FX_GDIJuggernaughtFootprint" Bone="B_FOOTR" /> <Script> Prev = CurDrawablePrevAnimationState() if Prev == "STATE_built" then CurDrawableSetTransitionAnimState("TRANS_built") end CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="ATTACKING"> <Animation AnimationName="GUVEhicleL_ATKA" AnimationMode="LOOP" AnimationBlendTime="15" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <!-- SELECTED --> <AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="SELECTED" StateName="STATE_SelectedPose"> <Animation AnimationName="GUVehicleL_AIDA" AnimationMode="LOOP" AnimationBlendTime="15" /> <Script> Prev = CurDrawablePrevAnimationState() if Prev == "STATE_bored" then CurDrawableSetTransitionAnimState("TRANS_IdleToSelected") end CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <!-- TRANSITIONS --> <AnimationState ParseCondStateType="PARSE_TRANSITION" StateName="TRANS_IdleToSelected" > <Animation AnimationName="GUVehicleL_BATA" AnimationBlendTime="10" AnimationMode="ONCE" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <AnimationState ParseCondStateType="PARSE_TRANSITION" StateName="TRANS_SelectedToIdle" > <Animation AnimationName="GUVehicleL_ABTA" AnimationBlendTime="10" AnimationMode="ONCE" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> <!-- Transitions --> <AnimationState ParseCondStateType="PARSE_TRANSITION" StateName="TRANS_built"> <Animation AnimationName="GUVehicleL_BLDA" AnimationBlendTime="0" AnimationMode="ONCE" /> <Script> CurDrawableShowSubObject("GUN_UPGRADE") </Script> </AnimationState> </ScriptedModelDraw> <SpotlightDraw id="ModuleTag_Spotlight" AttachToBoneInAnotherModule="Zt_Spine2" RefreshTime="2.0s" SweepTime="1.0s"> <ModelConditionState ParseCondStateType="PARSE_DEFAULT"> <Model Name="W3DContainer:FXspotlight" /> </ModelConditionState> <ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="FORMATION_PREVIEW"> <Model Name="" /> </ModelConditionState> </SpotlightDraw> <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> <FireWeaponUpdate id="ModuleTag_Fireweapon"> <FireWeaponNugget OneShot="true" Firedelay="0.1s" WeaponName="NodNuclearTransportNuke4"/> </FireWeaponUpdate> <ProductionUpdate id="ProductionUpdateModuleTag" GiveNoXP="true"/> <HordeTransportContain id="0x9DC593B0" Slots="4" KillPassengersOnDeath="True" AllowNeutralInside="False" AllowEnemiesInside="False" AllowOwnPlayerInsideOverride="True" ObjectStatusOfContained="CAN_ATTACK UNSELECTABLE ENCLOSED" ExitSound="AudioEvent:VehicleExit" EnterSound="AudioEvent:VehicleEnter" ContainMax="4"><PassengerFilter Include="INFANTRY" Rule="ANY"/> <DieMuxData DeathTypes="ALL"/> <PassengerData BonePrefix="BONE_CONTACT_POINT_"> <Filter Include="INFANTRY"/></PassengerData> <MemberTemplateStatusInfo ObjectStatus="CAN_SPOT_FOR_BOMBARD" ThingTemplate="GDISniperSquad"/> </HordeTransportContain> <AttributeModifierPoolUpdate id="DefaultAttributeModifierPoolUpdate"/> <SquishCollide id ="DefaultSquishCollide"/> <FireWeaponWhenDead id="ModuleTag_CatalystDeathWeapon" InitiallyActive="true" DeathWeapon="CatalystInfantryDeathWeapon" ContinueToBezierDestination="false"> <DieMuxData DeathTypes="CATALYST" /> </FireWeaponWhenDead> <!--Heroic level units auto healing--> <AutoHealBehavior id="Upgrade_HeroicHeal" InitiallyActive="false" HealOnlyIfNotInCombat="false" HealOnlyIfNotUnderAttack="false" StartHealingDelay="1s" HealingAmount="100" HealingDelay=".5s"> <TriggeredBy>Upgrade_Veterancy_HEROIC</TriggeredBy> </AutoHealBehavior> <AttributeModifierUpgrade id="ModuleTag_AttributeModifierUpgradeMUCSpeed" AttributeModifier="Modifier_MultifunctionUpgradeCenterSpeed"> <TriggeredBy>Upgrade_MultifunctionUpgradeCenterSpeed</TriggeredBy> </AttributeModifierUpgrade> <AttributeModifierUpgrade id="ModuleTag_AttributeModifierUpgradeMUCDamage" AttributeModifier="Modifier_MultifunctionUpgradeCenterDamage"> <TriggeredBy>Upgrade_MultifunctionUpgradeCenterDamage</TriggeredBy> </AttributeModifierUpgrade> <AttributeModifierUpgrade id="ModuleTag_AttributeModifierUpgradeMUCArmor" AttributeModifier="Modifier_MultifunctionUpgradeCenterArmor"> <TriggeredBy>Upgrade_MultifunctionUpgradeCenterArmor</TriggeredBy> </AttributeModifierUpgrade> <StancesBehavior id="ModuleTag_Stance" StanceTemplate="Generic" /> <StatusBitsUpgrade id="0x21DB4E8C" StatusToSet="RIDER2"> <TriggeredBy>Everyone_Faction</TriggeredBy> </StatusBitsUpgrade> <LevelUpUpgrade id="ModuleTag_LevelUpUpgrade_Veteran" LevelCap="4" LevelsToGain="1"> <TriggeredBy>Upgrade_ProductionVeterancy_VETERAN</TriggeredBy> </LevelUpUpgrade> <LevelUpUpgrade id="ModuleTag_LevelUpUpgrade_Elite" LevelCap="4" LevelsToGain="2"> <TriggeredBy>Upgrade_ProductionVeterancy_ELITE</TriggeredBy> </LevelUpUpgrade> <LevelUpUpgrade id="ModuleTag_LevelUpUpgrade_Heroic" LevelCap="4" LevelsToGain="3"> <TriggeredBy>Upgrade_ProductionVeterancy_HEROIC</TriggeredBy> </LevelUpUpgrade> <InvisibilityUpdate id="3BD7F2F5" Options="" UpdatePeriod="0.5s" BroadcastRange="0" OpacityMin="100%"> <InvisibilityNugget ForbiddenConditions="PREATTACK_A FIRING_A FIRING_OR_PREATTACK_A RELOADING_A PREATTACK_B FIRING_B FIRING_OR_PREATTACK_B RELOADING_B PREATTACK_C FIRING_C FIRING_OR_PREATTACK_C RELOADING_C USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C" ForbiddenConditionExceptions="" ForbiddenWeaponSets="" ForbiddenStatus="IS_FIRING_WEAPON USING_ABILITY IS_AIMING_WEAPON SPECIAL_ABILITY_PACKING_UNPACKING_OR_USING" CamouflageLevel="0" InvisibilityType="INVALID" Options="" EnteringStealthFX="" LeavingStealthFX="" HintDetectableStates="IS_ATTACKING" NoStealthForAttackWindow="0s" /> <RequiresUpgrade>Upgrade_CloakingFieldInvisibility</RequiresUpgrade> </InvisibilityUpdate> <!-- Cloaking Field --> <InvisibilityUpdate id="ModuleTag_Invisibility" UpdatePeriod="0.5s"> <InvisibilityNugget ForbiddenStatus="" HintDetectableStates="" /> <RequiresUpgrade>Upgrade_CloakingFieldInvisibility</RequiresUpgrade> </InvisibilityUpdate> <StealthUpgrade id="ModuleTag_InvisibilityTrigger"> <TriggeredBy>Upgrade_CloakingFieldInvisibility</TriggeredBy> </StealthUpgrade> <TemporarilyDefectUpdate id="ModuleTag_TemporarilyDefect" DefectionFrameCount="300" /> <WeaponSetUpdate id="ModuleTag_WeaponSetUpdate"> <WeaponSlotTurret ID="1" InterleavedStyle="INTERLEAVE_FIRST_AVAILABLE" WeaponChoiceCriteria="PREFER_MOST_DAMAGE" AllowInterleavedFiring="False"> <Weapon Ordering="PRIMARY_WEAPON" Template="GDIMastadonCannon" Upgrade="" ObjectStatus="" IsPlayerUpgradePermanent="False" /> <TurretSettings TurretTurnRate="60" TurretPitchRate="20" MinimumPitch="-15d" PitchHeight="50%" ControlledWeaponSlots="" MinIdleScanTime="1s" MaxIdleScanTime="5s" MinIdleScanAngle="0" MaxIdleScanAngle="90" MaxDeflectionClockwise="120d" MaxDeflectionAntiClockwise="120d" NaturalTurretAngle="0d" AllowsPitch="True" RecenterWhenOutOfTurnRange="True"> <TurretAITargetChooserData IdleScanDelay="0.8s" ReacquireDelay="5s" StartupDelay="0s" SympathyRange="25" CheckVisionRange="False" CanPickDynamicTargets="True" RotateToTargetWhenAiming="True" CanAutoAcquireNonAutoAcquirable="False" TargetingCompareList="DefaultTurretTargetingCompareList" ActiveWhenPerformingSpecialAbility="False" CanAcquireDynamicIfAssignedOutOfRange="True" CanPickTargetsOutOfTurretAngle="False" /> </TurretSettings> </WeaponSlotTurret> <!-- <WeaponSlotHardpoint ID="1" AllowInterleavedFiring="true" InterleavedStyle="INTERLEAVE_RANDOM"> <Weapon Ordering="PRIMARY_WEAPON" Template="GDIMastadonCannon" /> </WeaponSlotHardpoint> <WeaponSlotHardpoint ID="2" AllowInterleavedFiring="true" InterleavedStyle="INTERLEAVE_RANDOM"> <Weapon Ordering="PRIMARY_WEAPON" Template="GDIMastadonCannon" /> </WeaponSlotHardpoint> --> <WeaponSlotHierarchicalTurret ParentID="1" AllowInterleavedFiring="true" InterleavedStyle="INTERLEAVE_RANDOM" ID="3"> <Weapon IsPlayerUpgradePermanent="False" ObjectStatus="" Upgrade="" Template="GDIMastadonRocketPods" Ordering="SECONDARY_WEAPON"/> <TurretSettings RecenterWhenOutOfTurnRange="True" AllowsPitch="False" NaturalTurretAngle="0d" MaxDeflectionAntiClockwise="99.99999d" MaxDeflectionClockwise="20d" MaxIdleScanAngle="90" MinIdleScanAngle="0" MaxIdleScanTime="5s" MinIdleScanTime="1s" ControlledWeaponSlots="" PitchHeight="50%" MinimumPitch="0d" TurretPitchRate="0" TurretTurnRate="60"> <TurretAITargetChooserData CanPickTargetsOutOfTurretAngle="False" CanAcquireDynamicIfAssignedOutOfRange="True" ActiveWhenPerformingSpecialAbility="False" TargetingCompareList="DefaultTurretTargetingCompareList" CanAutoAcquireNonAutoAcquirable="False" RotateToTargetWhenAiming="True" CanPickDynamicTargets="True" CheckVisionRange="False" SympathyRange="25" StartupDelay="0s" ReacquireDelay="5s" IdleScanDelay="0.8s"/> </TurretSettings> </WeaponSlotHierarchicalTurret> <WeaponSlotHierarchicalTurret ParentID="1" AllowInterleavedFiring="true" InterleavedStyle="INTERLEAVE_RANDOM" ID="4"> <Weapon IsPlayerUpgradePermanent="False" ObjectStatus="" Upgrade="" Template="GDIMastadonRocketPods" Ordering="SECONDARY_WEAPON"/> <TurretSettings RecenterWhenOutOfTurnRange="True" AllowsPitch="False" NaturalTurretAngle="0d" MaxDeflectionAntiClockwise="20d" MaxDeflectionClockwise="99.99999d" MaxIdleScanAngle="90" MinIdleScanAngle="0" MaxIdleScanTime="5s" MinIdleScanTime="1s" ControlledWeaponSlots="" PitchHeight="50%" MinimumPitch="0d" TurretPitchRate="0" TurretTurnRate="60"> <TurretAITargetChooserData CanPickTargetsOutOfTurretAngle="False" CanAcquireDynamicIfAssignedOutOfRange="True" ActiveWhenPerformingSpecialAbility="False" TargetingCompareList="DefaultTurretTargetingCompareList" CanAutoAcquireNonAutoAcquirable="False" RotateToTargetWhenAiming="True" CanPickDynamicTargets="True" CheckVisionRange="False" SympathyRange="25" StartupDelay="0s" ReacquireDelay="5s" IdleScanDelay="0.8s"/> </TurretSettings> </WeaponSlotHierarchicalTurret> </WeaponSetUpdate> <LaserState id="ModuleTag_LaserState" LaserId="1" /> <Physics id="ModuleTag_Physics" /> <CreateObjectDie id="ModuleTag_CreateObjectDie" CreationList=""> <DieMuxData DeathTypes="ALL" /> </CreateObjectDie> <DestroyDie id="ModuleTag_Die"> <DieMuxData DeathTypes="ALL" /> </DestroyDie> <FXListBehavior id="ModuleTag_FXList"> <DieMuxData DeathTypes="ALL" /> <Event Index="onDeath" FX="FX_AwesomeXplosion" /> </FXListBehavior> <SlowDeath id="ModuleTag_Death" DestructionDelay="15s" SinkRate="1.5" SinkDelay="5s"> <OCL Type="INITIAL"> <OCL>OCL_GDIMARVDebris</OCL> </OCL> <DieMuxData DeathTypes="ALL" DeathTypesForbidden="TOPPLED"/> <Sound Type="INITIAL" List="Mastodon_VoiceDie"/> </SlowDeath> <StatusBitsUpgrade id="ModuleTag_VeterancyUpgrade" StatusToSet="WEAPON_UPGRADED_01"> <TriggeredBy>Upgrade_Veterancy_HEROIC</TriggeredBy> </StatusBitsUpgrade> </Behaviors> <AI> <AIUpdate id="ModuleTag_AI" AILuaEventsList="GDIMastodonFunctions" AutoAcquireEnemiesWhenIdle="YES"> <UnitAITargetChooserData TargetingCompareList="DefaultTargetingCompareList" RotateToTargetWhenAiming="True" CanPickDynamicTargets="False" SympathyRange="100"/> </AIUpdate> </AI> <Body> <ActiveBody id="ModuleTag_Body" MaxHealth="22500" /> </Body> <ClientBehaviors> <AnimationSoundClientBehavior id="ModuleTag_ASCB"> <Sound Sound="AudioEvent:Mastodon_Footstep" Animation="GUVehicleL_TRNL" Frame="25 50 75 100 125 150" /> <Sound Sound="AudioEvent:Mastodon_Footstep" Animation="GUVehicleL_TRNR" Frame="25 50 75 100 125 150" /> <Sound Sound="AudioEvent:Mastodon_Footstep" Animation="GUVehicleL_TRNLW" Frame="25 50 75 100 125 150" /> <Sound Sound="AudioEvent:Mastodon_Footstep" Animation="GUVehicleL_TRNRW" Frame="25 50 75 100 125 150" /> <Sound Sound="AudioEvent:Mastodon_Footstep" Animation="GUVehicleL_MOVA" Frame="25 50 75 100 125 150" /> <Sound Sound="AudioEvent:Mastodon_Footstep" Animation="GUVehicleL_MOVD" Frame="25 50 75 100 125 150" /> <Sound Frame="22 44" Animation="GUVehicleL_ABTA" Sound="AudioEvent:Mastodon_SelectedToIdle_ABTA"/> <Sound Frame="16 31" Animation="GUVehicleL_BATA" Sound="AudioEvent:Mastodon_SelectedToIdle_BATA"/> <Sound Frame="16 31" Animation="GUVehicleL_BLDA" Sound="AudioEvent:Mastodon_COMING_OUT_OF_FACTORY"/> </AnimationSoundClientBehavior> </ClientBehaviors> <ModelConditionAudioLoopClientBehavior id="0x7B291969"> <ModelConditionSound Sound="AudioEvent:GDI_RailgunAccelerator_EnergyStripeLoop" RequiredFlags="USING_WEAPON_C"/> </ModelConditionAudioLoopClientBehavior> <Geometry IsSmall="false"> <Shape Type= "BOX" MajorRadius = "29.6026" MinorRadius = "17.0185" Height = "17.9773" ContactPointGeneration="VEHICLE"> <Offset x = "-18.3624" y = "0.0492744" z = "32.9796" /> </Shape> <Shape Type= "BOX" MajorRadius = "21.2712" MinorRadius = "8.8983" Height = "17.2881" ContactPointGeneration="VEHICLE"> <Offset x = "26.1552" y = "-29.3933" z = "0.0" /> </Shape> <Shape Type= "BOX" MajorRadius = "21.7525" MinorRadius = "8.56917" Height = "17.378" ContactPointGeneration="VEHICLE"> <Offset x = "25.4914" y = "29.1596" z = "9.53674e-007" /> </Shape> <Shape Type= "BOX" MajorRadius = "21.0169" MinorRadius = "20.2542" Height = "20.678" ContactPointGeneration="VEHICLE"> <Offset x = "23.934" y = "0.00376129" z = "-9.53674e-007" /> </Shape> <Shape Type= "BOX" MajorRadius = "30.3217" MinorRadius = "19.8949" Height = "32.9622" ContactPointGeneration="VEHICLE"> <Offset x = "-28.5169" y = "-0.0588036" z = "9.53674e-007" /> </Shape> <Shape Type= "BOX" MajorRadius = "26.8461" MinorRadius = "11.865" Height = "24.6888" ContactPointGeneration="VEHICLE"> <Offset x = "-26.0001" y = "-32.2981" z = "0.0" /> </Shape> <Shape Type= "BOX" MajorRadius = "26.2468" MinorRadius = "11.3856" Height = "24.9285" ContactPointGeneration="VEHICLE"> <Offset x = "-25.8802" y = "31.7012" z = "0.0" /> </Shape> </Geometry> <AudioArrayVoice> <AudioEntry Sound="AudioEvent:ALL_Mastodon_VoiceAttack" AudioType="voiceAttack" /> <AudioEntry AudioType="voiceCreated" Sound="Multisound:ALL_Mastodon_VoiceCreateMS"/> <AudioEntry Sound="AudioEvent:ALL_Mastodon_VoiceMove" AudioType="voiceMove" /> <AudioEntry AudioType="voiceGuard" Sound="AudioEvent:ALL_Mastodon_VoiceMove"/> <AudioEntry Sound="AudioEvent:ALL_Mastodon_VoiceMoveAttack" AudioType="voiceAttackAfterMoving" /> <AudioEntry Sound="AudioEvent:ALL_Mastodon_VoiceRetreat" AudioType="voiceRetreatToCastle" /> <AudioEntry Sound="Multisound:Mastodon_VoiceSelectMS" AudioType="voiceSelect" /> <AudioEntry Sound="Multisound:Mastodon_VoiceSelectBattleMS" AudioType="voiceSelectBattle" /> </AudioArrayVoice> <AudioArraySound> <AudioEntry Sound="AudioEvent:VehicleCrush" AudioType="soundCrushing" /> <AudioEntry AudioType="soundMoveStart" Sound="Multisound:Mastodon_MoveStartMS"/> <AudioEntry AudioType="soundAmbient" Sound="AudioEvent:Mastodon_IdleLoop"/> <AudioEntry AudioType="soundMoveLoop" Sound="AudioEvent:Mastodon_Land_MoveLoop"/> </AudioArraySound> <EvaEvents EvaEventDieOwner="UnitLost" EvaEventProductionStarted="UnitConstructionStarted" EvaEventDamagedOwner="UnitUnderAttack" EvaEventDamagedFromShroudedSourceOwner="UnitUnderAttackFromShroudedUnit" EvaEventDamagedByFireOwner="GenericUnitBeingBurned" EvaEventAmbushed="UnitAmbushed" EvaEventSecondDamageFarFromFirstScanRange="600" EvaEventSecondDamageFarFromFirstTimeoutMS="31000" EvaEnemyObjectSightedEvent="GenericEnemyUnitSighted" EvaEventDetectedEnemy="EnemyStealthUnitDiscovered" EvaEventAvailableForProduction="NewConstructionOptions" EvaEventBuildOnHold="BuildOnHold" EvaEventBuildCancelled="BuildCancelled" EvaEventPromotedOwner="UnitPromoted" /> <VisionInfo ShroudClearingRange="400" VisionRange="350"/> <CrusherInfo CrushKnockback="0" CrushZFactor="1" MinCrushVelocityPercent="1%" CrushDecelerationPercent="0%" CrushWeapon="" CrushRevengeWeapon="" CrusherLevel="4" CrushableLevel="4" MountedCrusherLevel="255" MountedCrushableLevel="255" CrushEqualLevelProps="False" UseCrushAttack="True" CrushOnlyWhileCharging="False" CrushAllies="False" /> </GameObject> </AssetDeclaration> Still didn't changed the health_25 thing but what you think about it now? shuold I delete all the Flags="MAINTAIN_FRAME_ACROSS_STATES" from it? I still need to test and see if the improvment that were added from the old xml didn't go away~ Edited August 31, 2015 by Egozi44 Share this post Link to post
Egozi44 28 Posted August 31, 2015 (edited) the mother ship uses this to limit how many it can spawn, you would add something more or less the same to your mastodont <GrantUpgradeCreate id="ModuleTag_AddMotherShipUpgrade" UpgradeToGrant="Upgrade_MotherShipBuilt" /> <UpgradeDie id="ModuleTag_RemoveMotherShipUpgrade" /** if the unit dies it removes the following upgrade **/ UpgradeId="Upgrade_MotherShipBuilt"> <DieMuxData DeathTypes="ALL" /> </UpgradeDie> and it uses that upgrade in it gamedependancy for its specialpower, but you can sue that same dependancy in your droppod aswel: <GameDependency> <ForbiddenUpgrade>Upgrade_MotherShipBuilt</ForbiddenUpgrade> </GameDependency> So in other words I need to add that upgrade to both? also how does it work and how can I make it look as if you build the mastadon normally? I mean won't it show "request upgrade" next to the mastadon unit button after you build it? I never used stuff from the mothership before so I don't really sure how that upgrade works Oh and another new issue that pop up for me yesterday but probably shouldn't pose must of a problem for you: I gave to all Pitbulls Mortar Bombard ability that let it act like the Juggernaut ability but have low dmg and range, it don't required sniper team, just the mortar upgrade (see here http://www.moddb.com/mods/kanes-wrath-unofficial-patch-104/images/pitbulls-mortar-bombard#imagebox ) Now the issue is that it don't use the right bones for the attack and it shoot the mortar from the middle of the Pitbull rather than the rear cannon, the wreapon use the same stuff as the normal pitbull's mortar but with bigger range How I can make it use the bone or whatever that is missing? Here the pitbull xml (It a leftover I still used from bugged WED 1.08, so save it in a note and view it vie IE) <?xml version="1.0" encoding="utf-8"?><AssetDeclaration xmlns="uri:ea.com:eala:asset"><GameObject id="GDIPitbull" KindOf="SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS PRELOAD SCORE ATTACK_NEEDS_LINE_OF_SIGHT CAN_REVERSE_MOVE VEHICLE CAN_SHOOT_OVER_WALLS CAN_BE_FAVORITE_UNIT" Description="Desc:GDIPitbull" TypeDescription="Type:GDIPitbull" RadarPriority="UNIT" Side="GDI" EditorName="GDIPitbull" EditorSorting="UNIT" BuildTime="7" CommandSet="GDIPitbullCommandSet" SelectPortrait="Portrait_GDIPitbull" ButtonImage="Portrait_GDIPitbull" VoicePriority="164" ShockwaveResistance="100" CommandPoints="100" ThreatLevel="10" ProductionQueueType="VEHICLE" UnitCategory="VEHICLE" WeaponCategory="MISSILE" ReinvisibilityDelay="7s" WorldMapArmoryUpgradesAllowed="Upgrade_GDIArmoryPitbullMortar" BuildCost="700" TransportSlotCount="1"><DisplayName>Name:GDIPitbull</DisplayName><ArmorSet Armor="GDIPitbullArmor" DamageFX="VehicleDamageFX" /><LocomotorSet Speed="115" Locomotor="GDIPitbullLocomotor" /><SkirmishAIInformation UnitBuilderStandardCombatUnit="True" /><Draws><TruckDraw id="0x50DF2C46" MaxRecoilDistance="3" RecoilDamping="0.4" TrackMarks="EXTireTrack2" ExtraPublicBone="Tire01 Tire02 Tire03 Tire04 FXWEAPON01 FXWEAPON02" TrackMarksLeftBone="Tire03" TrackMarksRightBone="Tire04" OkToChangeModelColor="True" TrackMarksOnlyWhenCorneringQuickly="True" LeftFrontTireBone="Tire01" RightFrontTireBone="Tire02" LeftRearTireBone="Tire03" RightRearTireBone="Tire04" TireRotationMultiplier="0.2" PowerslideRotationAddition="1.25"><ModelConditionState ParseCondStateType="PARSE_DEFAULT"><Model Name="W3DContainer:GUPITBULL_SKN" /><WeaponFireFXBone BoneName="FXWEAPON01" /><WeaponFireFXBone WeaponSlotID="2" BoneName="mortortube" /><WeaponLaunchBone BoneName="FXWEAPON01" /><WeaponLaunchBone WeaponSlotID="2" BoneName="mortortube" /><Turret TurretNameKey="Turret" TurretPitch="B_ Gun" TurretID="1" /></ModelConditionState><ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="DAMAGED"><Model Name="W3DContainer:GUPITBULL_SKN" /></ModelConditionState><ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="REALLYDAMAGED"><Model Name="W3DContainer:GUPITBULL_SKN" /><Texture Original="GUPitbull" New="GUPitbullD" /><ParticleSysBone BoneName="TIRE03" FXParticleSystemTemplate="GDIPitbullDamagedSmoke" FollowBone="True" /></ModelConditionState><ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="DYING"><Model Name="W3DContainer:GUPITBULLR_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" ConditionsYes="FORMATION_PREVIEW"><Model Name="W3DContainer:GUPITBULL_FP" /></ModelConditionState><AnimationState ParseCondStateType="PARSE_DEFAULT" /><AnimationState ParseCondStateType="PARSE_NORMAL" ConditionsYes="DYING" /></TruckDraw><SpotlightDraw id="0xF591F97E" MaxRecoilDistance="3" RecoilDamping="0.4" AttachToBoneInAnotherModule="B_SPOTLIGHT" RefreshTime="2s"><ModelConditionState ParseCondStateType="PARSE_DEFAULT"><Model Name="W3DMesh:FXSPOTLIGHT" /><WeaponFireFXBone BoneName="FXWEAPON01" /><WeaponLaunchBone BoneName="FXWEAPON01" /></ModelConditionState><ModelConditionState ParseCondStateType="PARSE_NORMAL" ConditionsYes="FORMATION_PREVIEW"><Model /></ModelConditionState></SpotlightDraw></Draws><Behaviors><AttributeModifierPoolUpdate id="0x513BC476" /><SquishCollide id="0x8CCB269A" /><FireWeaponWhenDead id="0xDDED328F" DeathWeapon="CatalystInfantryDeathWeapon" InitiallyActive="True"><DieMuxData DeathTypes="CATALYST" /></FireWeaponWhenDead><AutoHealBehavior id="0xC07BF5C0" HealingAmount="100" HealingDelay="0.5s" StartHealingDelay="1s"><TriggeredBy>Upgrade_Veterancy_HEROIC</TriggeredBy></AutoHealBehavior><AttributeModifierUpgrade id="0xAA36A1AA" AttributeModifier="Modifier_MultifunctionUpgradeCenterSpeed"><TriggeredBy>Upgrade_MultifunctionUpgradeCenterSpeed</TriggeredBy></AttributeModifierUpgrade><AttributeModifierUpgrade id="0x81C6F752" AttributeModifier="Modifier_MultifunctionUpgradeCenterDamage"><TriggeredBy>Upgrade_MultifunctionUpgradeCenterDamage</TriggeredBy></AttributeModifierUpgrade><AttributeModifierUpgrade id="0xE35F7EC4" AttributeModifier="Modifier_MultifunctionUpgradeCenterArmor"><TriggeredBy>Upgrade_MultifunctionUpgradeCenterArmor</TriggeredBy></AttributeModifierUpgrade><StancesBehavior id="0x54CA416E" StanceTemplate="Generic" /><LevelUpUpgrade id="0xA92BDFEA" LevelsToGain="1" LevelCap="4"><TriggeredBy>Upgrade_ProductionVeterancy_VETERAN</TriggeredBy></LevelUpUpgrade><LevelUpUpgrade id="0x5C3F216A" LevelsToGain="2" LevelCap="4"><TriggeredBy>Upgrade_ProductionVeterancy_ELITE</TriggeredBy></LevelUpUpgrade><LevelUpUpgrade id="0x379F3CE2" LevelsToGain="3" LevelCap="4"><TriggeredBy>Upgrade_ProductionVeterancy_HEROIC</TriggeredBy></LevelUpUpgrade><InvisibilityUpdate id="0x3BD7F2F5" UpdatePeriod="0.5s"><InvisibilityNugget ForbiddenConditions="PREATTACK_A FIRING_A FIRING_OR_PREATTACK_A RELOADING_A PREATTACK_B FIRING_B FIRING_OR_PREATTACK_B RELOADING_B PREATTACK_C FIRING_C FIRING_OR_PREATTACK_C RELOADING_C USING_WEAPON_A USING_WEAPON_B USING_WEAPON_C" ForbiddenStatus="IS_FIRING_WEAPON USING_ABILITY IS_AIMING_WEAPON SPECIAL_ABILITY_PACKING_UNPACKING_OR_USING" /><RequiresUpgrade>Upgrade_CloakingFieldInvisibility</RequiresUpgrade></InvisibilityUpdate><StealthUpgrade id="0xF2B9DFBE"><TriggeredBy>Upgrade_CloakingFieldInvisibility</TriggeredBy></StealthUpgrade><TemporarilyDefectUpdate id="0x3473AFD2" DefectionFrameCount="300" /><ProductionUpdate id="0x34FE0D85" GiveNoXP="True" /><WeaponSetUpdate id="0x720F4A50"><WeaponSlotHardpoint ID="2"><Weapon Template="GDIPitbullMortar" ObjectStatus="WEAPON_UPGRADED_01" /></WeaponSlotHardpoint><WeaponSlotTurret ID="1" InterleavedStyle="INTERLEAVE_FIRST_AVAILABLE"><Weapon Template="GDIPitbullRocketWeapon" /><TurretSettings TurretTurnRate="2000" TurretPitchRate="200" MinIdleScanTime="1s" MaxIdleScanTime="5s" MaxIdleScanAngle="90" AllowsPitch="True"><TurretAITargetChooserData TargetingCompareList="DefaultTurretTargetingCompareList" CanAcquireDynamicIfAssignedOutOfRange="True" /></TurretSettings></WeaponSlotTurret></WeaponSetUpdate><SpecialPower id="0xD91ED54564AFA" UpdateModuleStartsAttack="True" SpecialPowerTemplate="SpecialPower_SpotBeaconBombard2"> <AttributeModifierAffects Rule="UNPARSED"/> <RequirementsFilterMP Rule="UNPARSED"/> <RequirementsFilterStrategic Rule="UNPARSED"/> </SpecialPower> <WeaponFireSpecialAbilityUpdate id="0xE57FD838" SpecialPowerTemplate="SpecialPower_SpotBeaconBombard2" DestealthClosestObjectMatchingFilter="True" WhichSpecialWeapon="1" SpecialWeapon="GDIPitbullMortarArtilleryBombard" FaceTarget="True" Options="CHECK_SPECIALPOWER_REQUIREMENTS_DURING_UPDATE" UnpackTime="3.5s" PackTime="3.5s" PersistentPrepTime="5s" StartAbilityRange="600"/> <AISpecialPowerUpdate id="0x29001BCD" RandomizeTargetLocation="False" SpecialPowerRadius="600" SpecialPowerAIType="SPECIAL_POWER" CommandButtonName="Command_SpotBeaconBombard2"/><ProductionUpdate id="0x749674DE" /><Physics id="0x6D41764B" /><SlowDeath id="0x73542D4A" SinkRate="1" SinkDelay="3s" DestructionDelay="7s"><OCL><OCL>OCL_GDIPitBullDebris</OCL></OCL><Sound List="GDI_Generic_VoiceDieMS" /><DieMuxData DeathTypes="ALL" DeathTypesForbidden="TOPPLED" /></SlowDeath><FXListBehavior id="0xC74C39D8"><DieMuxData DeathTypes="ALL" /><Event FX="FX_GDIVehicleExplodeNoScorch" /></FXListBehavior><StealthDetectorUpdate id="0x70ED959C" DetectionRange="400" /><CreateAndEnterObjectSpecialPower id="0x6D44A823" SpecialPowerTemplate="SpecialPowerCallForTransportGDI" TriggerFX="FX_GDICallForTransportFlare" IdleWhenStartingPower="True" ChildModuleHandlesFX="True" OCL="OCL_GDICallForTransportForVehicle" CreateLocation="CREATE_ABOVE_LOCATION"><AttributeModifierAffects Rule="UNPARSED" /><RequirementsFilterMP Rule="UNPARSED" /><RequirementsFilterStrategic Rule="UNPARSED" /><FXOffset x="25" /></CreateAndEnterObjectSpecialPower><StatusBitsUpgrade id="0x85B2DF85" StatusToSet="WEAPON_UPGRADED_01"><TriggeredBy>Upgrade_GDIArmoryPitbullMortar</TriggeredBy></StatusBitsUpgrade><SubObjectsUpgrade id="0x15821060" ShowSubObjects="MortorTube"><TriggeredBy>Upgrade_GDIArmoryPitbullMortar</TriggeredBy></SubObjectsUpgrade><StatusBitsUpgrade id="0xD305500E" StatusToSet="WEAPON_UPGRADED_03"><TriggeredBy>Upgrade_Veterancy_HEROIC</TriggeredBy></StatusBitsUpgrade><AudioLoopUpgrade id="0xA5FBD0CB" SoundToPlay="AudioEvent:GDI_Mortar_Upgrade"><TriggeredBy>Upgrade_GDIArmoryPitbullMortar</TriggeredBy></AudioLoopUpgrade></Behaviors><AI><AIUpdate id="0x12FA48BA" AutoAcquireEnemiesWhenIdle="YES" AILuaEventsList="GDIPitbullFunctions"><UnitAITargetChooserData SympathyRange="100" RotateToTargetWhenAiming="False" TargetingCompareList="DefaultTargetingCompareList" /></AIUpdate></AI><Body><ActiveBody id="0xB313F576" MaxHealth="1600" /></Body><ClientBehaviors><UpgradeSoundSelectorClientBehavior id="0x2803A758"><Override><AudioArrayVoice><AudioEntry Sound="AudioEvent:GDI_Pitbull_VoiceAttackMortar" AudioType="voiceAttack" /></AudioArrayVoice><RequiredUpgrade>Upgrade_GDIArmoryPitbullMortar</RequiredUpgrade></Override></UpgradeSoundSelectorClientBehavior></ClientBehaviors><Geometry IsSmall="True"><Shape Type="BOX" ContactPointGeneration="VEHICLE" MajorRadius="14" MinorRadius="7" Height="11.5" /></Geometry><AudioArrayVoice><AudioEntry Sound="AudioEvent:GDI_Pitbull_VoiceAttack" AudioType="voiceAttack" /><AudioEntry Sound="AudioEvent:GDI_Pitbull_VoiceCreate" AudioType="voiceCreated" /><AudioEntry Sound="AudioEvent:GDI_Pitbull_VoiceMove" AudioType="voiceMove" /><AudioEntry Sound="AudioEvent:GDI_Pitbull_VoiceMove" AudioType="voiceGuard" /><AudioEntry Sound="AudioEvent:GDI_Pitbull_VoiceMoveAttack" AudioType="voiceAttackAfterMoving" /><AudioEntry Sound="AudioEvent:GDI_Pitbull_VoiceRetreat" AudioType="voiceRetreatToCastle" /><AudioEntry Sound="Multisound:GDI_Pitbull_VoiceSelectMS" AudioType="voiceSelect" /><AudioEntry Sound="Multisound:GDI_Pitbull_VoiceSelectBattleMS" AudioType="voiceSelectBattle" /><NamedEntry Sound="AudioEvent:GDI_Pitbull_VoiceAttackMortar" Name="0x21282BAA" /></AudioArrayVoice><AudioArraySound><AudioEntry Sound="AudioEvent:PitbullMoveStart" AudioType="soundMoveStart" /><AudioEntry Sound="AudioEvent:PitbullIdleLoop" AudioType="soundAmbient" /></AudioArraySound><EvaEvents EvaEventDieOwner="UnitLost" EvaEventDamagedOwner="UnitUnderAttack" EvaEventDamagedFromShroudedSourceOwner="UnitUnderAttackFromShroudedUnit" EvaEventDamagedByFireOwner="GenericUnitBeingBurned" EvaEventSecondDamageFarFromFirstScanRange="600" EvaEventSecondDamageFarFromFirstTimeoutMS="155" EvaEventAmbushed="UnitAmbushed" EvaEnemyObjectSightedEvent="GenericEnemyUnitSighted" EvaEventDetectedEnemy="EnemyStealthUnitDiscovered" EvaEventAvailableForProduction="NewConstructionOptions" EvaEventProductionStarted="UnitConstructionStarted" EvaEventBuildOnHold="BuildOnHold" EvaEventBuildCancelled="BuildCancelled" EvaEventPromotedOwner="UnitPromoted" /><ShadowInfo Type="VOLUME" /><VisionInfo VisionRange="350" ShroudClearingRange="500" /><CrusherInfo CrushableLevel="2" CrushEqualLevelProps="True" /><DisplayUpgrade>Upgrade_GDIArmoryPitbullMortar</DisplayUpgrade></GameObject></AssetDeclaration> Edited August 31, 2015 by Egozi44 Share this post Link to post
Egozi44 28 Posted August 31, 2015 Actually if you want it easier here: <SpecialPower id="0xD91ED54564AFA" UpdateModuleStartsAttack="True" SpecialPowerTemplate="SpecialPower_SpotBeaconBombard2"> <AttributeModifierAffects Rule="UNPARSED"/> <RequirementsFilterMP Rule="UNPARSED"/> <RequirementsFilterStrategic Rule="UNPARSED"/> </SpecialPower> <WeaponFireSpecialAbilityUpdate id="0xE57FD838" SpecialPowerTemplate="SpecialPower_SpotBeaconBombard2" DestealthClosestObjectMatchingFilter="True" WhichSpecialWeapon="1" SpecialWeapon="GDIPitbullMortarArtilleryBombard" FaceTarget="True" Options="CHECK_SPECIALPOWER_REQUIREMENTS_DURING_UPDATE" UnpackTime="3.5s" PackTime="3.5s" PersistentPrepTime="5s" StartAbilityRange="100000"/> <AISpecialPowerUpdate id="0x29001BCD" RandomizeTargetLocation="False" SpecialPowerRadius="400" SpecialPowerAIType="SPECIAL_POWER_SPECIFIC_UNIT" CommandButtonName="Command_SpotBeaconBombard2"/> That all what I added to the pitbull aside all the other xmls for the weapon and ability Share this post Link to post
Ravendark 46 Posted August 31, 2015 (edited) So in other words I need to add that upgrade to both? also how does it work and how can I make it look as if you build the mastadon normally? I mean won't it show "request upgrade" next to the mastadon unit button after you build it? I never used stuff from the mothership before so I don't really sure how that upgrade works No you only add it to your droppod, from what you explained you build your droppod, then it dies/replaces itself into the mastodont. I misread your previous post and thought ou build the mastodont, but if i understand it correctly you dont build the mastodont anymore but the droppodinstead? Basicly you add that piece of code to the thing you build. No need to add it to both then. for the pitbull try to add: WeaponSlotID="2" WeaponSlotType="PRIMARY_WEAPON" to your WeaponFireSpecialAbilityUpdate also this from your xml: <WeaponFireFXBone BoneName="FXWEAPON01" /> <WeaponFireFXBone WeaponSlotID="2" BoneName="mortortube" /> <WeaponLaunchBone BoneName="FXWEAPON01" /> <WeaponLaunchBone WeaponSlotID="2" BoneName="mortortube" /> and this is how it should look like(taken from the KW xml and not the TW xml): <WeaponFireFXBone WeaponSlotID="1" WeaponSlotType="PRIMARY_WEAPON" BoneName="FXWEAPON01" /> <WeaponFireFXBone WeaponSlotID="2" WeaponSlotType="PRIMARY_WEAPON" BoneName="mortortube" /> <WeaponLaunchBone WeaponSlotID="1" WeaponSlotType="PRIMARY_WEAPON" BoneName="FXWEAPON01" /> <WeaponLaunchBone WeaponSlotID="2" WeaponSlotType="PRIMARY_WEAPON" BoneName="mortortube" /> Any reason why you left weaponslottype out of it all? Also did you finaly manage the create a new unitability/specialpower button for this bombard attack then? or how are you using it? Edited August 31, 2015 by Ravendark Share this post Link to post
Lauren 78 Posted August 31, 2015 (edited) He can leave it out as it defaults to PRIMARY_WEAPON anyway. And WeaponSlotID defaults to 1. His xml does the exact same thing yours does, yours is just more explicit. Edited August 31, 2015 by Lauren Share this post Link to post
Ravendark 46 Posted August 31, 2015 He can leave it out as it defaults to PRIMARY_WEAPON anyway. And WeaponSlotID defaults to 1. His xml does the exact same thing yours does, yours is just more explicit. True, still my question was more on why he altered it, as in why he "re invented hot water"? The only thing he changed/added was the SP he claims, im just wondering how get ends up with setain deviations in his xml, is it the version of WED he uses or so? Share this post Link to post
Egozi44 28 Posted September 1, 2015 (edited) Sorry for the dealy No you only add it to your droppod, from what you explained you build your droppod, then it dies/replaces itself into the mastodont. I misread your previous post and thought ou build the mastodont, but if i understand it correctly you dont build the mastodont anymore but the droppodinstead? Basicly you add that piece of code to the thing you build. No need to add it to both then. Well yea, at the beginning I didn't was sure how to make the Mastadon to be build with a pod without a SP so I just made him trainable the normal way, after I tried a few stuff the pod look so nice I couldn't resist about adding it So basicly I need to add new upgrade xml and add this: <GrantUpgradeCreate id="ModuleTag_AddMotherShipUpgrade" UpgradeToGrant="NewUpgrade_PodBuilt" /> <UpgradeDie id="ModuleTag_RemovePodUpgrade" /** if the unit dies it removes the following upgrade **/ UpgradeId="NewUpgrade_PodBuilt"> <DieMuxData DeathTypes="ALL" /> </UpgradeDie> and that <GameDependency> <ForbiddenUpgrade>NewUpgrade_PodBuilt</ForbiddenUpgrade> </GameDependency> to the pod correct? for the pitbull try to add: WeaponSlotID="2"WeaponSlotType="PRIMARY_WEAPON" to your WeaponFireSpecialAbilityUpdate Will try it out and report also this from your xml: <WeaponFireFXBone BoneName="FXWEAPON01" /><WeaponFireFXBone WeaponSlotID="2" BoneName="mortortube" /><WeaponLaunchBone BoneName="FXWEAPON01" /><WeaponLaunchBone WeaponSlotID="2" BoneName="mortortube" /> and this is how it should look like(taken from the KW xml and not the TW xml): <WeaponFireFXBone WeaponSlotID="1" WeaponSlotType="PRIMARY_WEAPON" BoneName="FXWEAPON01" /> <WeaponFireFXBone WeaponSlotID="2" WeaponSlotType="PRIMARY_WEAPON" BoneName="mortortube" /> <WeaponLaunchBone WeaponSlotID="1" WeaponSlotType="PRIMARY_WEAPON" BoneName="FXWEAPON01" /> <WeaponLaunchBone WeaponSlotID="2" WeaponSlotType="PRIMARY_WEAPON" BoneName="mortortube" /> Any reason why you left weaponslottype out of it all? I didn't, it came out like that in bugged WED 1.08 The thing with bugged WED 1.08 is that it don't display all codes, But at the same time in 99% of my time using it It also don't make them stop working if something was missing Unless I add it myself and overwrite it to something elses So for short, WED 1.08 don't include all code lines but they still there and working, unless I overdrive the xml it don't show any issue (at least from what I understood from testing) Speaking on issues can someone tell me what is supposedly the legendary Reckoner bug that appeared in WED 1.07? I heard that it appear as long as you just mess with the Reckoner's xml, but I done it and don't saw any visiable bug till someone told me there was one in ver 1.07 Also did you finaly manage the create a new unitability/specialpower button for this bombard attack then? or how are you using it? I simply looked at the Specter ability and mimic it (Juggernaut's seem to be coded so I had no other choice), I added new units abilities before and in rare cases added SP that was already in the game just to other faction for a test, I didn't was aware of the spellbook at that time (thought you meant to the one in the ini files) and that stopped me from adding new stuff (you can look on my mod images and see new unit abilities from half year ago or so~) I still don't sure what missing in the Nod's nuclear support power to make it work though It seem that EA/EALA planned to add it to the pitbull all along but probably remove it due to balance or uniqueness issues (they already made a name and dec for it) I make it weaker and have less range than the Juggernaut so there's no worries, in fact it solved the ZOCOM lack of artillery without the need to add to them another Juggernaut (I still thinking on adding to them the Koidak as SP or the C&C4 Juggernaut, But at this point I may just make them World Builder's easter egg or something, the C&C4 Juggernaut credit all goes to Prodigy btw) Oh and BTW Not sure about the problem with the legs without some pictures or a video Here GIF Full screen: http://giphy.com/gifs/3o85xv7qjmzNXqno9G/fullscreen And his main cannon does move to the target, it just happened that in the GIF he don't really need to moves his cannon (just in case anyone ganaa ask) If you want the alpha version of my mod to see or test stuff just tell me, I trust you all enough to give you the files, it probably won't be anything fancy as the stuff you all do in your mods though~ Edited September 1, 2015 by Egozi44 Share this post Link to post
Egozi44 28 Posted September 1, 2015 (edited) Alright many thanks, the Pitbull ability now shot from the right cannon Another thing to delete from the list Edited September 1, 2015 by Egozi44 Share this post Link to post
Egozi44 28 Posted September 1, 2015 (edited) Another good news I was able to add Tier 2 and Tier 3 upgrade buttons to the mutants hovel They working like charm Edited September 1, 2015 by Egozi44 Share this post Link to post
Stygs 25 Posted September 3, 2015 (edited) Now that you posted the video... I have to admit that the TWA Mastodons have the same bug while Redeemer and Hexapod work fine. And since both of these mechs use WeaponSlotHardpoint while the Mastodons use turret for their primary weapons, I guess that is some kind of engine problem. Edit: So far, the Redeemer seems to work only as long as he doent use the turret mechanic - as soon as he gains a turret, his turning animations bug out too. Edited September 3, 2015 by Stygs Share this post Link to post
Egozi44 28 Posted September 4, 2015 (edited) Yea, I also noticed that TWA mastadon turning too fast which unfit to a heavy 4 legs walker Imo so I stayed with my own locomator (just removed the 4 legs part)What I need to add to it to act like the redeemer? Though I double it ganna help since he uses turret as his main weaponOh btw Ravendark, thanks a lot, I was able to make the mastadon to land with TT pod thanks to your and prodigy help Edited September 4, 2015 by Egozi44 Share this post Link to post
Egozi44 28 Posted September 5, 2015 (edited) Well I time the pod and add sounds but I have another issueOne of my ideas were that the mastadon will destroy the marv hub facility each time it came outBut now that I added the pod people can sell the building right before the pod landingIs there any way to make building unsellable only after the pod came out?I thought about ditching the idea of the destruction of the facility, but my fear is that the game can randomly crash if the mastadon will walk on the building it landing at Edited September 6, 2015 by Egozi44 Share this post Link to post
Ravendark 46 Posted September 6, 2015 One of the ideas i am using in my own mode is the following: my warfactory and barracks would eventually get a upgrade that gives them a radar/com relay disc. Whenever you build a unit, it will then spawn a invisible dummy unit that moves insanely fast but has a lifespan of only 5-10 seconds. then it dies and spawns the actuall units (the idea for me is to spawn something flying ofscreen to mimic a combat airdrop). This would happen where ever the rally point of the producer is set (the dummy would just move really fast to that spot). In your case you could do the same: Spawn a really fast dummy, that moves to the rally point, after a set lifetime it spawns the droppod there, the droppod spaens the mastodont. because the dummy is an actuall unit with body and collision detection (but unselectable and invisible(no art) it will move to where it can stand freely so the drop pod wont land on anything in general. You could keep the marv facility....its kind of silly to destroy it in that way. If you really want to get rid of the facility, then just use a mcv like special power to turn the facility inthe the droppod/mastodont. Share this post Link to post
Egozi44 28 Posted September 6, 2015 (edited) I actually used different yet similar idea to my mutant hovel teach-up upgrade buttons the button spawn unselectable and invisible inf unit (because vehicle make the game crash each time other vehicle come out and it don't seem to be because of the crush attack) and that inf unit spawn the invisible building I already made the pod as the "unselectable" unit that spawn the mastodon, I may do what you said if the mastodon will caused the game to crush (Still testing it atm) At first I made the mastodon to destroy the facility due to it's size btw (like that RA3 mod that made the mammoth to destroy the Soviet war factory) I thought it be proper pay for the strongest epic unit in the mod, the tier 4 buildings (epic units factory and support powers labs) in the mod gives small amount of funds so it really let down for the players who will need to rebuild it Edited September 7, 2015 by Egozi44 Share this post Link to post
Egozi44 28 Posted September 8, 2015 (edited) Ok back to the main thread topic I tried to take all the SP the avatar commdder have for just one unit (like the flame tank) and edit them all, now all that left (I think?) is to add the: <ReplaceSelfUpgrade id="ModuleTag_ReplaceSelf" NewObjectUnpackTime="5.0s" DisabledDuringUnpack="false" CheckBuildAssistant="true"> <TriggeredBy>Upgrade_UnPack</TriggeredBy> <ReplacementTemplate>NODConstructionYard</ReplacementTemplate> </ReplaceSelfUpgrade> But where I supposed to add it? Edit I done all I know and the ability was added but I can't select any unit with it.... can you take a look on my files and tell me what wrong? (I expect a lot of things went wrong xD) http://www.mediafire.com/download/7i7o3fx5np5pc08/VicMerge.rar Also how can I make it so the viscriods won't be able to select themselves (when the ability will work of course) Edited September 8, 2015 by Egozi44 Share this post Link to post
Egozi44 28 Posted September 18, 2015 Well if no one have time to help/ don't know how to help me (which is fine btw) Then I guess it time to move to the next thread? xD Share this post Link to post
ztz2019 1 Posted September 25, 2015 Not MIA, just busy IRL 1. the avatar uses a chained specialpower wich basicly means that first he fires a weapon to paralyze and destroy the unit he targets, secondly he uses a upgrade specialpower to trigger an upgrade <SpecialPowerDispatchSpecialPower id="ModuleTag_AvatarCommandeerDispatch" SpecialPowerTemplate="SpecialPower_AvatarCommandeerDispatch" RequireAllPowersToFunction="false" AttributeModifierAffectsSelf="true"> <SpecialPower SpecialPowerTemplate="SpecialPower_AvatarInvisibility" /> <SpecialPower SpecialPowerTemplate="SpecialPower_AvatarCommandeerDestroyStealthTank" /> </SpecialPowerDispatchSpecialPower> <SpecialPower id="SpecialPower_AvatarCommandeerDestroyStealthTank" SpecialPowerTemplate="SpecialPower_AvatarCommandeerDestroyStealthTank" AttributeModifierAffectsSelf="true" UpdateModuleStartsAttack="true" /> <WeaponFireSpecialAbilityUpdate id="SpecialPower_AvatarCommandeerDestroyStealthTankUpdate" SpecialPowerTemplate="SpecialPower_AvatarCommandeerDestroyStealthTank" SpecialWeapon="NODAvatarCommandeerWeapon" UnpackTime="0s" PackTime="0s" StartAbilityRange="15.0" BusyForDuration="2.7s" WhichSpecialWeapon="1" /> <GiveOrRestoreUpgradeSpecialPower id="SpecialPower_AvatarInvisibilityUpdate" SpecialPowerTemplate="SpecialPower_AvatarInvisibility" UpgradeToGive="Upgrade_AvatarInvisibility" /> <SpecialPower id="SpecialPower_AvatarInvisibility" SpecialPowerTemplate="SpecialPower_AvatarInvisibility" /> the idea is to basicly fire multiple specialpowers with one click, the first targets your merge unit and the second kills the merge unit and triggers a upgrade if you couple this together with the mcv deploy logic you could replace into a new unit : <ReplaceSelfUpgrade id="ModuleTag_ReplaceSelf" NewObjectUnpackTime="5.0s" DisabledDuringUnpack="false" CheckBuildAssistant="true"> <TriggeredBy>Upgrade_UnPack</TriggeredBy> <ReplacementTemplate>NODConstructionYard</ReplacementTemplate> </ReplaceSelfUpgrade> another way to go about all this might be to just use the GARRISON modelcondition + hordegarrison module...you let your first unit be garrisonable by your second unit, and use the GARRISONED modelstat to display a merged unit Another way would be the MOUNTED code if that still worked(BFME merged rider and horse that way iirc). 2. as far as i know specialpower cursors are hardcoded (not including targetdecal cursors)...iirc you cant create new cursors, you change existing ones but not add new ones....iirc. 3. like megumi/prodigy said 4. CloakingFieldKillInfantryWeapon this is the weapon that actually kills the infantry its fired from a specialability in the ops-center, the warhead in the weapon acts as filter CloakingFieldKillInfantryWeaponWarhead <WeaponTemplate id="CloakingFieldKillInfantryWeaponWarhead" Name="CloakingFieldKillInfantryWeaponWarhead" RadiusDamageAffects="ALLIES ENEMIES NEUTRALS" AttackRange="50000.0" WeaponSpeed="9999.0" AntiMask="ANTI_GROUND ANTI_AIRBORNE_INFANTRY" > <Nuggets> <DamageNugget Damage="500" Radius="=$CLOAKING_FIELD_RADIUS" DamageType="UNRESISTABLE" DeathType="NORMAL"> <SpecialObjectFilter Rule="NONE" Include="INFANTRY" Exclude="VEHICLE HUGE_VEHICLE AIRCRAFT"/> <DamageScalarDetails Scalar= "25%"> <Filter Rule="NONE"> <IncludeThing>GDIZoneTrooper</IncludeThing> <IncludeThing>GDICommando</IncludeThing> <IncludeThing>AlienMastermind</IncludeThing> <IncludeThing>AlienShockTrooper</IncludeThing> <IncludeThing>NODCommando</IncludeThing> <IncludeThing>NODBlackhand</IncludeThing> </Filter> </DamageScalarDetails> </DamageNugget> </Nuggets> </WeaponTemplate> add something like the following to it: <DamageNugget Damage="500" Radius="=$CLOAKING_FIELD_RADIUS" DamageType="UNRESISTABLE" DeathType="NORMAL"> <SpecialObjectFilter Rule="NONE" Exclude="INFANTRY AIRCRAFT"> <IncludeThing>mynewunit</IncludeThing> </SpecialObjectFilter> <DamageScalarDetails Scalar= "1000%"> <Filter Rule="NONE"> <IncludeThing>mynewunit</IncludeThing> </Filter> </DamageScalarDetails> </DamageNugget> Well, is it still work in CC3 like in the ZH mod Contra or Shockwave? When an infantry enters a vehicle, the vehicle will have an upgrade. Such as troopcrawler in Shockwave, it will upgrade a new weapon and hardened the armor by garrisoned the soldier, and not the RIDER/motorbike module. Share this post Link to post
Egozi44 28 Posted September 25, 2015 I tried something like that and had issus, i added link to my files but no one reply so far so I moved on ; ) If anyone have a clue I'm all ears Share this post Link to post