An expansion/overhaul mod of epic proportions, with entirely rebalanced gameplay, expanded factions, new gametypes, graphical overhauls, and five new factions; stealth-based Confederate Revolutionaries, tower defense-inspired Atomic Kingdom of China, economy-focused Mediterranean Syndicate, DotA-esque Order of the Talon and spammy Electrical Protectorate.

Forum Thread
  Posts  
Coding School (Games : C&C: Red Alert 3 : Mods : Red Alert 3 Paradox : Forum : Paradox Discussion : Coding School) Locked
Thread Options
Jul 5 2011 Anchor

Currently, Red Alert 3: Paradox is quite unbalanced behind the scenes. Basically, Sketch pumps out art faster than the other people can code it, because there's not enough coders; Kerensky left, SEA-106 has no Internet and R3ven works with other mods too. Unfortunately, recruiting new cunning people is difficult, since they have to gain enthusiam for the project themselves. Therefore, our best hope is that more active people learn to code in order to help with the mod, increasing the pace considerably and quickening the release. Some are already learning, some are afraid to begin.

I don't know code yet, but I thought that an eventual learning process would be helped by an open topic for discussions, help, questions, answers, tutorials and other useful stuff for our future hopes to utilize.

The wiki pages on coding are probably useful for getting started. Coders, assemble, go!

DISCLAIMER: I would like this topic to be for serious people only, and for people aiming to help the Paradox mod and joining the team. So no one-shot questions for modders from other teams, for example, in order to not clutter the topic - if it gains enough popularity, that is.

Potential Students:
Tayya
Protroid
ProudAmerikan

Edited by: Tayya

Jul 5 2011 Anchor

This seems like a good idea.
A link to some coding tutorials ( unfortunately Jason Z hasn't uploaded all of the tuts yet):
Moddb.com

EDIT: The tutorials were meant for the first version of the RA3 Mod SDK so it may be outdated.

Edited by: Smayo

--

"Even if a pawn becomes a queen, it is still just a playing piece.."
-President Johnson (MGS2)

gregester
gregester 4D61707065 722026 20436F646572
Jul 5 2011 Anchor

I am willing to help teach the little that I know if need be

--

There is a fifth dimension, beyond that which is known to man. It is a dimension as vast as space and as timeless as infinity. It is the middle ground between light and shadow, between science and superstition, and it lies between the pit of man's fears and the summit of his knowledge. This is the dimension of imagination. It is an area which we call The Twilight Zone

Protroid
Protroid Head of the Paradox Closed Beta Team
Jul 6 2011 Anchor

STUDENT CODERS! ASSEMBLE!

(I'm teaching myself using various tutorials)

Smayo wrote: EDIT: The tutorials were meant for the first version of the RA3 Mod SDK so it may be outdated.


I talked to him about those the other day, and he said he will (eventually) rewrite them.

--

Quick its 2am! Do you know where your base is?

Jul 6 2011 Anchor

*assembles* Do you have any other useful tutorial links, Protroid? How far have you gotten? If you've just begun, we could co-ordinate our efforts.

Jul 6 2011 Anchor

Hey all. I'm getting help from Gregester in coding as well, and only yesterday was able to do a very rough mockup of a fan unit tank (Malice, for those interested).

Willing to help efforts wherever needed.

Protroid
Protroid Head of the Paradox Closed Beta Team
Jul 6 2011 Anchor

Tayya wrote: *assembles* Do you have any other useful tutorial links, Protroid? How far have you gotten? If you've just begun, we could co-ordinate our efforts.


Well lets see.

I put in the Harbinger, made the Peacekeeper shoot a chain gun instead of a shotgun, made the Gaurdian able to hold 3 infantry that can fire out.

I'm currently trying to make it so they ONLY fire the chaingun in a garrison, give the Gaurdian a new secondary, and something else I forget right now.

I used those two tutorials and general mucking around the SDK to learn what I know.

EDIT: Thanks to R3ven, I was also able to get the AmU's Garrison Upgrades working, and I'm now starting to look into weapon templates.

Edited by: Protroid

--

Quick its 2am! Do you know where your base is?

open_sketchbook
open_sketchbook Your Lord and Master
Jul 6 2011 Anchor

Wow, that sounds totally awesome. Remember guys, if you need any kind of art assets or weird patterns of bone exports to test some code thingy in your learnin', I can make it happen.

Jul 9 2011 Anchor

I too, would like to get into helping your team code after my vacation in Europe.After that, it's C++ boot camp for me!

R3ven
R3ven Paradox Leader
Jul 9 2011 Anchor

RA3 doesn't use C++, it uses its own version of XML.

Jul 10 2011 Anchor

R3ven wrote: RA3 doesn't use C++, it uses its own version of XML.


I had a feeling my mate was pulling my leg. Well, time to re-learn from
Scratch. I'm quite glad I learned this now instead of later, as there probably would have been a fair amount face-desking

R3ven
R3ven Paradox Leader
Jul 10 2011 Anchor

The best way to learn ra3 modding is to dive right into it

open_sketchbook
open_sketchbook Your Lord and Master
Jul 10 2011 Anchor

The more the merrier. Welcome to the Coding Club.

Jul 10 2011 Anchor

is it possible to post an example of XML coding here?

R3ven
R3ven Paradox Leader
Jul 10 2011 Anchor
<?xml version="1.0" encoding="utf-8"?>
<AssetDeclaration xmlns="uri:ea.com:eala:asset" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xi="http://www.w3.org/2001/XInclude">
	<Tags></Tags>
	<Includes>
		<Include type="all" source="DATA:GlobalData/GlobalDefines.xml" /> 

		<Include
			type="all"
			source="ART:AUAntiVehicleVehicleTech1_SKN.w3x" />
		<Include
			type="all"
			source="ART:AUAntiVehicleVehicleTech1_MOVA.w3x" />
		<Include
			type="all"
			source="ART:AUAntiVehicleVehicleTech1_D.xml" />
		<Include
			type="instance"
			source="ART:EX_Headlights.w3x" />
		<Include
			type="instance"
			source="ART:EXTnkTrack.xml" />
		<Include
			type="all"
			source="ART:FXObeliskLaser.xml" />
		<Include
			type="all"
			source="ART:FXRailGunCoreDistortion.xml" />
		<Include
			type="all"
			source="ART:FXRailGunCoreMask.xml" />
		<!-- Base Object -->
		<Include
			type="instance"
			source="DATA:BaseObjects/BaseVehicle.xml" />
	</Includes>
	<!-- AKA Guardian Tank aka The Chieftain -->
	<GameObject
		id="AlliedAntiVehicleVehicleTech1"
		inheritFrom="BaseVehicle"
		SelectPortrait="Portrait_AlliedAntiVehicleVehicleTech1"
		ButtonImage="Button_AlliedAntiVehicleVehicleTech1_on"
		Side="Allies"
		SubGroupPriority="425" 
		EditorSorting="UNIT"
		HealthBoxHeightOffset="25"
		BuildTime="10"
		CommandSet="AlliedAntiVehicleVehicleTech1CommandSet"
		KindOf="SELECTABLE CAN_ATTACK CAN_CAST_REFLECTIONS SCORE VEHICLE CAN_BE_FAVORITE_UNIT T2_UNIT"
		WeaponCategory="CANNON"
		VoicePriority="188"
		EditorName="AlliedAntiVehicleVehicleTech1"
		Description="Desc:AlliedAntiVehicleVehicleTech1"
		TypeDescription="Type:AlliedAntiVehicleVehicleTech1"
		UnitIntro="Allied_GuardianTank_UnitIntro">
		<DisplayName
			xai:joinAction="Replace" xmlns:xai="uri:ea.com:eala:asset:instance">Name:AlliedAntiVehicleVehicleTech1</DisplayName>
		<ObjectResourceInfo>
			<BuildCost Account="=$ACCOUNT_ORE" Amount="950"/>
		</ObjectResourceInfo>
		
		<GameDependency>
			<NeededUpgrade>Upgrade_AlliedTech2</NeededUpgrade>
		</GameDependency>
		
		<ArmorSet
			Armor="AlliedAntiVehicleVehicleTech1Armor"
			DamageFX="VehicleDamageFX" />
		<LocomotorSet
			Locomotor="TestReactiveLocomotorTANK"
			Condition="NORMAL"
			Speed="80.0" />
		<SkirmishAIInformation
			UnitBuilderStandardCombatUnit="true" />
		<Draws>

			<TruckDraw
				id="ModuleTag_Draw"
				OkToChangeModelColor="true"
				LeftFrontTireBone="Bone_Tracks_Front_Left"
				RightFrontTireBone="Bone_Tracks_Front_Right"
				LeftRearTireBone="Bone_Tracks_Rear_Right"
				RightRearTireBone="Bone_Tracks_Rear_Left"
				
				TireRotationMultiplier="0.0"		
				InitialRecoilSpeed="0.5"
				MaxRecoilDistance="5"
				RecoilDamping="2.0"
				RecoilSettleSpeed="3.0"
				
				ExtraPublicBone="Bone_Tread_Front_Left Bone_Tread_Front_Right Bone_Tread_Rear_Left Bone_Tread_Rear_Right FXTracksL FXTracksR Bone_Turret Bone_Turret_Pitch FX_Laser FXBone_Muzzle BONE_GUN_MUZZLE"
				TrackMarks="EXTnkTrack"
				TrackMarksLeftBone="FXTracksL"
				TrackMarksRightBone="FXTracksR">
				<TreadTerrainParticles>DefaultTankTerrainParticleMapping</TreadTerrainParticles>

				<TreadScrollingMap
					LeftTrack="Bone_Tread_Front_Left"
					RightTrack="Bone_Tread_Front_Right"
					SpeedMultiplier="-0.06"
					TreadDriveSpeedFraction="10%"/>
				<TreadScrollingMap
					LeftTrack="Bone_Tread_Rear_Left"
					RightTrack="Bone_Tread_Rear_Right"
					SpeedMultiplier="-0.06"
					TreadDriveSpeedFraction="10%"/>
														
				<ModelConditionState
					ParseCondStateType="PARSE_DEFAULT"
					RetainSubObjects="true">
					<Model
						Name="AUAntiVehicleVehicleTech1_SKN" />
					<WeaponFireFXBone
						WeaponSlotID="1"
						WeaponSlotType="PRIMARY_WEAPON"
						BoneName="FXBone_Muzzle"/>
					<WeaponRecoilBone
						WeaponSlotID="1"
						WeaponSlotType="PRIMARY_WEAPON"
						BoneName="BONE_GUN_MUZZLE"/>
					<WeaponLaunchBone
						WeaponSlotID="1"
						WeaponSlotType="PRIMARY_WEAPON"
						BoneName="FXBone_Muzzle" />
					<WeaponFireFXBone
						WeaponSlotID="1"
						WeaponSlotType="SECONDARY_WEAPON"
						BoneName="FX_Laser" />
					<WeaponLaunchBone
						WeaponSlotID="1"
						WeaponSlotType="SECONDARY_WEAPON"
						BoneName="FX_Laser" />
					<Turret
						TurretNameKey="Bone_Turret"
						TurretPitch="Bone_turret_pitch"
						TurretID="1" />
				</ModelConditionState>

				
        <!-- User_1 Laser -->
        <ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="USER_1 DAMAGED">
          <Model
              Name="AUAntiVehicleVehicleTech1_SKN" />
          <ParticleSysBone
              BoneName="FX_Laser"
              FXParticleSystemTemplate="Allied_Target_Laser"
              FollowBone="true"/>
          <ParticleSysBone
              BoneName="FX_Damage01"
              FXParticleSystemTemplate="AlliedVehicleDamageSmoke"
              FollowBone="true"/>
        </ModelConditionState>

        <ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="USER_1 REALLYDAMAGED">
          <Model
						Name="AUAntiVehicleVehicleTech1_SKN" />
          <Texture
						Original="AUAntiVehicleVehicleTech1"
						New="AUAntiVehicleVehicleTech1_D" />
          <ParticleSysBone
              BoneName="FX_Laser"
              FXParticleSystemTemplate="Allied_Target_Laser"
              FollowBone="true"/>
          <ParticleSysBone
						BoneName="FX_Damage01"
						FXParticleSystemTemplate="AlliedVehicleDamageFire"
						FollowBone="true"/>
          <ParticleSysBone
						BoneName="FX_Damage01"
						FXParticleSystemTemplate="AlliedVehicleDamageFireLight"
						FollowBone="true"/>
          <ParticleSysBone
						BoneName="FX_Damage01"
						FXParticleSystemTemplate="AlliedVehicleDamageSmoke"
						FollowBone="true"/>
        </ModelConditionState>
        <ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="USER_1">
          <Model
              Name="AUAntiVehicleVehicleTech1_SKN" />
          <ParticleSysBone
              BoneName="FX_Laser"
              FXParticleSystemTemplate="Allied_Target_Laser"
              FollowBone="true"/>

        </ModelConditionState>

        <!-- Damage States -->
				<ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="DAMAGED">
				<Model
						Name="AUAntiVehicleVehicleTech1_SKN" />
				<ParticleSysBone
						BoneName="FX_Damage01"
						FXParticleSystemTemplate="AlliedVehicleDamageSmoke"
						FollowBone="true"/>
				</ModelConditionState>
        
				<ModelConditionState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="REALLYDAMAGED">
					<Model
						Name="AUAntiVehicleVehicleTech1_SKN" />
					<Texture
						Original="AUAntiVehicleVehicleTech1"
						New="AUAntiVehicleVehicleTech1_D" />
					<ParticleSysBone
						BoneName="FX_Damage01"
						FXParticleSystemTemplate="AlliedVehicleDamageFire"
						FollowBone="true"/>
					<ParticleSysBone
						BoneName="FX_Damage01"
						FXParticleSystemTemplate="AlliedVehicleDamageFireLight"
						FollowBone="true"/>
					<ParticleSysBone
						BoneName="FX_Damage01"
						FXParticleSystemTemplate="AlliedVehicleDamageSmoke"
						FollowBone="true"/>          
				</ModelConditionState> 

				<AnimationState
					ParseCondStateType="PARSE_DEFAULT">
				</AnimationState>
				
				<AnimationState
					ParseCondStateType="PARSE_NORMAL"
					ConditionsYes="MOVING"
					Flags="RANDOMSTART">
					<Animation
						AnimationName="AUAntiVehicleVehicleTech1_MOVA"
						AnimationMode="LOOP"
						AnimationSpeedFactorMin="0.8"
						AnimationSpeedFactorMax="1.2" />
				</AnimationState>
				
			</TruckDraw>
        
			<LaserDraw
				id="ModuleTag_LaserDraw"
				Texture1_UTile="1"
				Texture1_VTile=".5"
				Texture1_UScrollRate="0"
				Texture1_VScrollRate=".2"
				Texture1_NumFrames="1"
				Texture1_FrameRate="30"
				Texture2_UTile="1"
				Texture2_VTile=".03"
				Texture2_UScrollRate="0"
				Texture2_VScrollRate="1"
				Texture2_NumFrames="1"
				Texture2_FrameRate="30"
				LaserWidth="10"
				LaserStateID="1">
				<FXShader
					ShaderName="Laser.fx"
					TechniqueIndex="0">
					<Constants>
						<Texture
							Name="Texture1">
							<Value>FXObeliskLaser</Value>
						</Texture>
						<Texture
							Name="Texture2">
							<Value>FXLaserOverlay</Value>
						</Texture>
            <Float Name="ColorEmissive">
              <Value>5.000000</Value>
              <Value>1.000000</Value>
              <Value>1.000000</Value>
            </Float>
					</Constants>
				</FXShader>
			</LaserDraw>

      <!-- include Headlight draw module. -->
      <xi:include
				href="DATA:Includes/HeadlightDraw2.xml"
				xpointer="xmlns(n=uri:ea.com:eala:asset) xpointer(/n:HeadlightDraw2/child::*)" />

		</Draws>
		<Behaviors>
			<WeaponSetUpdate
				id="ModuleTag_WeaponSetUpdate">
				<WeaponSlotTurret
					ID="1">
					<Weapon
						Ordering="PRIMARY_WEAPON"
						Template="AlliedAntiVehicleVehicleTech1Cannon"
						ForbiddenObjectStatus="GENERIC_TOGGLE_STATE"/>
          <Weapon
						Ordering="SECONDARY_WEAPON"
						Template="AlliedAntiVehicleVehicleTech1TargetPainter"
						ObjectStatus="GENERIC_TOGGLE_STATE"/>
					<TurretSettings
						TurretTurnRate="360"
						MinimumPitch="-30d"
						AllowsPitch="true" 
						TurretPitchRate="180" 
						MinIdleScanTime="1.0s"
						MaxIdleScanTime="4.0s"
						MinIdleScanAngle="30.0"
						MaxIdleScanAngle="50.0"
						ComeToHaltJiggle="3d">
						<TurretAITargetChooserData
							IdleScanDelay="=$FAST_IDLE_SCAN_DELAY"
							CanAcquireDynamicIfAssignedOutOfRange="true" />
					</TurretSettings>
				</WeaponSlotTurret>
				<!-- 
					Only difference between these two turrets is the AITargetChooserData, so that
					the TargetPainter won't ignore the target you selected in order to attack someone nearby
				<WeaponSlotTurret
					ID="2">
					<Weapon
						Ordering="SECONDARY_WEAPON"
						Template="AlliedAntiVehicleVehicleTech1TargetPainter"
						ObjectStatus="GENERIC_TOGGLE_STATE"/>
					<TurretSettings
						TurretTurnRate="360"
						MinimumPitch="-30d"
						AllowsPitch="true"
						TurretPitchRate="180"
						ComeToHaltJiggle="3d">
						<TurretAITargetChooserData
							CanAcquireDynamicIfAssignedOutOfRange="false" />
					</TurretSettings>
				</WeaponSlotTurret>
        -->
      </WeaponSetUpdate>
			<LaserState
				id="ModuleTag_LaserState"
				LaserId="1" >
        <LaserEndParticleSystem>Allied_Target_LaserEnd</LaserEndParticleSystem>
      </LaserState>
			<Physics
				id="ModuleTag_Physics" />
			<CreateObjectDie
				id="ModuleTag_CreateObjectDie"
				CreationList="AUAntiVehicleVehicleTech1_Die_OCL">
				<DieMuxData
					DeathTypes="ALL" />
			</CreateObjectDie>
			<DestroyDie
				id="ModuleTag_Die">
				<DieMuxData
					DeathTypes="ALL" />
			</DestroyDie>
			<FXListBehavior
				id="ModuleTag_FXList">
				<DieMuxData
					DeathTypes="ALL" />
				<Event
					Index="onDeath"
					FX="FX_AlliedChieftanDie" />
			</FXListBehavior>

			<!-- the target painter trigger -->
			<SpecialPower
				id="ModuleTag_ActivateTargetPainterTrigger"
				SpecialPowerTemplate="SpecialPower_ToggleTargetPainter"
				UpdateModuleStartsAttack="true" />
			<ToggleStatusSpecialAbilityUpdate
				id="ModuleTag_ActivateTargetPainterTriggerUpdate"
				Options="RECONSTITUTE_STORED_COMMAND"
				SpecialPowerTemplate="SpecialPower_ToggleTargetPainter">

				<ToggleState EnterStateSound="ALL_Guardian_PainterOff">
					<SkirmishAiInfo
						ToggleHint="TOGGLE_DEFAULT"/>
				</ToggleState>

				<ToggleState
					ObjectStatus="GENERIC_TOGGLE_STATE"
					ModelConditions="USER_1"
					EnterStateSound="ALL_Guardian_PainterOn"
					AttributeModifier="AttributeModifier_TargetPaintVisionBonus">
					<SkirmishAiInfo
						ToggleHint="TOGGLE_ONE_PER_TARGET"
            			NumOtherAttackersOnTarget="6"/>
				</ToggleState>

			</ToggleStatusSpecialAbilityUpdate>

			<!-- the actual power, triggered by weapon -->
			<SpecialPower
				id="ModuleTag_PaintTarget"
				SpecialPowerTemplate="SpecialPower_PaintTargetTrigger"
				UpdateModuleStartsAttack="false" />
			<!--BeamSpecialAbilityUpdate
				id="ModuleTag_PaintTargetUpdate"
				SpecialPowerTemplate="SpecialPower_PaintTargetTrigger"
				JoinWithOtherBeams="false"
				UnpackTime="0s"
				UnpackSound="NOD_BeamCannon_BeamWeaponPowerUpSwell"
				PackTime="0s"
				PreparationTime="10000s"
				PrepSoundLoop="NOD_BeamCannon_ChargeObeliskLoopMS"
				StartAbilityRange="350.0"
				TargetAttributeModifierAdd="AttributeMod_TargetPainted"
				Options="CHECK_SPECIALPOWER_REQUIREMENTS_DURING_UPDATE"
				DamagePerSecond="0.0" /-->

			<!-- The High Technology version of the Special power -->
			<SpecialPower
				id="ModuleTag_PaintTarget_HighTechnology"
				SpecialPowerTemplate="SpecialPower_PaintTargetTrigger_HighTechnology"
				UpdateModuleStartsAttack="false" />
			<!--BeamSpecialAbilityUpdate
				id="ModuleTag_PaintTargetUpdate_HighTechnology"
				SpecialPowerTemplate="SpecialPower_PaintTargetTrigger_HighTechnology"
				JoinWithOtherBeams="false"
				UnpackTime="0s"
				UnpackSound="NOD_BeamCannon_BeamWeaponPowerUpSwell"
				PackTime="0s"
				PreparationTime="10000s"
				PrepSoundLoop="NOD_BeamCannon_ChargeObeliskLoopMS"
				StartAbilityRange="350.0"
				TargetAttributeModifierAdd="AttributeMod_TargetPainted_HighTechnology"
				Options="CHECK_SPECIALPOWER_REQUIREMENTS_DURING_UPDATE"
				DamagePerSecond="0.0" /-->
			
			<xi:include
				href="DATA:Includes/AlliedHighTechnologyUpgrade.xml" />
			<StatusBitsUpgrade
				id="ModuleTag_VeterancyUpgrade"
				StatusToSet="WEAPON_UPGRADED_02">
				<TriggeredBy>Upgrade_Veterancy_HEROIC</TriggeredBy>
			</StatusBitsUpgrade>
		</Behaviors>
		<AI>
			<AIUpdate
				id="ModuleTag_AI"
				AutoAcquireEnemiesWhenIdle="YES"
				StateMachine="UnitAIStateMachine">
				<UnitAITargetChooserData
					CanPickDynamicTargets="false" />
			</AIUpdate>
		</AI>
		<Body>
			<ActiveBody
				id="ModuleTag_Body"
				MaxHealth="480" />
		</Body>
		<ClientBehaviors>
			<ModelConditionAudioLoopClientBehavior id="ModuleTag_ShrunkenVoice">
				<ModelConditionSound Sound="ALL_GuardianTank_VoiceShrunken" RequiredFlags="SHRINK_EFFECT" />
			</ModelConditionAudioLoopClientBehavior>
			<ModelConditionSoundSelectorClientBehavior id="ModuleTag_PaintTargetVoice">
				<Override RequiredFlags="USER_1">
					<AudioArrayVoice>
						<AudioEntry Sound="ALL_Guardian_VoiceAttackPaintTarget" AudioType="voiceAttack" />
					</AudioArrayVoice>
				</Override>
			</ModelConditionSoundSelectorClientBehavior>
			<ModelConditionAudioLoopClientBehavior id="ModuleTag_PaintLoop">
				<ModelConditionSound Sound="ALL_Guardian_PainterWeaponLoop" RequiredFlags="USING_WEAPON_B" ExcludedFlags="DYING" />
			</ModelConditionAudioLoopClientBehavior>
			<ModelConditionAudioLoopClientBehavior id="ModuleTag_PaintStart">
				<ModelConditionSound Sound="ALL_Guardian_PainterWeaponStart" RequiredFlags="USING_WEAPON_B" ExcludedFlags="DYING" />
			</ModelConditionAudioLoopClientBehavior>
		</ClientBehaviors>
		<Geometry>
			<Shape
				Type="BOX"
				MajorRadius="20.0"
				MinorRadius="12.0"
				Height="17.0"
				ContactPointGeneration="VEHICLE"/>
		</Geometry>
		<AudioArrayVoice>
			<AudioEntry Sound="ALL_Guardian_VoiceAttack" AudioType="voiceAttack" />
			<AudioEntry Sound="ALL_Guardian_VoiceCreate" AudioType="voiceCreated" />
			<AudioEntry Sound="ALL_Guardian_VoiceMoveAttack" AudioType="voiceAttackAfterMoving" />
			<AudioEntry Sound="ALL_Guardian_VoiceMove" AudioType="voiceMove" />
			<AudioEntry Sound="ALL_Guardian_VoiceRetreat" AudioType="voiceRetreatToCastle" />
			<AudioEntry Sound="ALL_Guardian_VoiceSelectMS" AudioType="voiceSelect" />
			<AudioEntry Sound="ALL_Guardian_VoiceSelectBattleMS" AudioType="voiceSelectBattle" />
			<AudioEntry Sound="ALL_Guardian_VoiceSelectBattleMS" AudioType="voiceSelectUnderFire" />
		</AudioArrayVoice>
		<AudioArraySound>
			<AudioEntry
				Sound="ALL_Guardian_MoveStart"
				AudioType="soundMoveStart" />
			<AudioEntry
				Sound="VehicleCrush"
				AudioType="soundCrushing" />
			<AudioEntry
				Sound="Tank_Land_MoveLoop"
				AudioType="soundMoveLoop" />	
		</AudioArraySound>
		<VisionInfo
			VisionRange="200"
			ShroudClearingRange="=$STANDARD_SHROUD_CLEAR" />
	<CrusherInfo 
			CrushableLevel="20" 
			CrusherLevel="20" 
			CrushDecelerationPercent="80%" />
	</GameObject>
</AssetDeclaration>

Guardian Tank

Joshh
Joshh The Punmaster
Jul 10 2011 Anchor

Coding Club Crusaders YAY! (My Little Pony reference FTW)

If any of you would like to learn how to make particle FX talk to me via MSN.

--

-------------------------------------

Reply to thread
click to sign in and post

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.