Jump to content


Modding Shockwave


  • You cannot reply to this topic
7 replies to this topic

#1 nightmaim

    Newbie

  • Member
  • 2 posts

Posted 10 March 2009 - 07:26

Hello,

I usually play Shockwave with America SuperWeapons army and I'd like to change my RobotTank to a Paladin, so I've extracted the SuperWeaponGeneral.ini with FinalBig and I noticed that there is no code for the RobotTank, in fact the RobotTank is the Crusader Tank with a modified code, so I thought: "I'm gonna change the 'Crusader' code to be a Paladin", well...the result was a bizarre thing, now I have a 'PalaRobot':

Posted Image

It moves like a Robot, with hover engine, same sounds, same portrait, etc...

This is the code:

Object SupW_AmericaTankCrusader

 &#59; *** ART Parameters ***
  SelectPortrait		 = SAPaladin_L
  ButtonImage			= SAPaladin
  
  UpgradeCameo1 = Upgrade_AmericaDroneArmor

	Draw = W3DOverlordTankDraw ModuleTag_01
	
	ExtraPublicBone = Laser_Bone

	ConditionState		= NONE
	  Model			   = AVPaladin
	  Turret			  = Turret01
	  WeaponFireFXBone	= PRIMARY TurretMS
	  WeaponRecoilBone	= PRIMARY Barrel
	  WeaponMuzzleFlash   = PRIMARY TurretFX
	  WeaponLaunchBone	= PRIMARY TurretMS
	  WeaponFireFXBone	= SECONDARY TurretMS
	  WeaponMuzzleFlash   = SECONDARY TurretFX
	  WeaponLaunchBone	= SECONDARY TurretMS
	  WeaponFireFXBone	= TERTIARY TurretMS
	  WeaponMuzzleFlash   = TERTIARY TurretFX
	  WeaponLaunchBone	= TERTIARY TurretMS
	End
	
	ConditionState		= REALLYDAMAGED
	  Model			   = AVPaladin_D
	  Turret			  = Turret01
	  WeaponFireFXBone	= PRIMARY TurretMS
	  WeaponRecoilBone	= PRIMARY Barrel
	  WeaponMuzzleFlash   = PRIMARY TurretFX
	  WeaponLaunchBone	= PRIMARY TurretMS
	  WeaponFireFXBone	= SECONDARY TurretMS
	  WeaponMuzzleFlash   = SECONDARY TurretFX
	  WeaponLaunchBone	= SECONDARY TurretMS
	  WeaponFireFXBone	= TERTIARY TurretMS
	  WeaponMuzzleFlash   = TERTIARY TurretFX
	  WeaponLaunchBone	= TERTIARY TurretMS
	End
	
	ConditionState		= RUBBLE
	  Model			   = AVPaladin_D
	  Turret			  = Turret01
	  WeaponFireFXBone	= PRIMARY TurretMS
	  WeaponRecoilBone	= PRIMARY Barrel
	  WeaponMuzzleFlash   = PRIMARY TurretFX
	  WeaponLaunchBone	= PRIMARY TurretMS
	  WeaponFireFXBone	= SECONDARY TurretMS
	  WeaponMuzzleFlash   = SECONDARY TurretFX
	  WeaponLaunchBone	= SECONDARY TurretMS
	  WeaponFireFXBone	= TERTIARY TurretMS
	  WeaponMuzzleFlash   = TERTIARY TurretFX
	  WeaponLaunchBone	= TERTIARY TurretMS
	End
	
	TrackMarks		   = EXTnkTrack.tga
	TreadAnimationRate	  = 2.0 &#59; amount of tread texture to move per second
	TreadDriveSpeedFraction = 0.3 &#59; fraction of locomotor speed below which treads stop moving.
	TreadPivotSpeedFraction = 0.6 &#59; fraction of locomotor speed below which we allow pivoting.
	OkToChangeModelColor = Yes
  End

 &#59; ***DESIGN parameters ***
  DisplayName	  = OBJECT:Paladin
  Side				   = AmericaSuperWeaponGeneral
  EditorSorting		  = VEHICLE
  TransportSlotCount	 = 3
  WeaponSet
	Conditions		   = None 
	Weapon			   = PRIMARY PaladinTankGun
  End
  ArmorSet
	Conditions		   = None
	Armor				= TankArmor
	DamageFX			 = TankDamageFX
  End
  BuildCost			  = 800
  BuildTime			  = 9.0		 &#59;in seconds	
  VisionRange			= 250
  ShroudClearingRange = 200
  Prerequisites
	Object = SupW_AmericaWarFactory
  End
  ExperienceValue		= 100 100 200 400&#59;Experience point value at each level
  ExperienceRequired	 = 0 200 300 600&#59;Experience points needed to gain each level
  IsTrainable			= No &#59;Can gain experience
  CrusherLevel		   = 2 &#59;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
  CrushableLevel		 = 2 &#59;What am I?:		0 = for infantry, 1 = for trees, 2 = general vehicles
  CommandSet			 = AmericaTankPaladinCommandSet

 &#59; *** AUDIO Parameters ***
  VoiceSelect = PaladinTankVoiceSelect
  VoiceMove = PaladinTankVoiceMove
  VoiceGuard = PaladinTankVoiceMove
  VoiceAttack = PaladinTankVoiceAttack
  SoundMoveStart = PaladinTankMoveStart
  SoundMoveStartDamaged = PaladinTankMoveStart

  UnitSpecificSounds
   &#59; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
	VoiceCreate	 = PaladinTankVoiceCreate
	TurretMoveLoop = TurretMoveLoop
	SoundEject = PilotSoundEject
	VoiceEject = PilotVoiceEject
	VoiceCrush = PaladinTankVoiceCrush
	VoiceEnter = PaladinTankVoiceMove
  End

; *** ENGINEERING Parameters ***
  RadarPriority = UNIT
  KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE
  
  Body = ActiveBody ModuleTag_02
	MaxHealth	   = 520.0
	InitialHealth   = 520.0

   &#59; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
   &#59; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
	SubdualDamageCap = 1000
	SubdualDamageHealRate = 500
	SubdualDamageHealAmount = 50
  End

  Behavior = TransportAIUpdate ModuleTag_03
	Turret
	  TurretTurnRate = 180&#59;60   // turn rate, in degrees per sec
	  ControlledWeaponSlots = PRIMARY
	End
	AutoAcquireEnemiesWhenIdle = Yes
  End
  
  Locomotor = SET_NORMAL CrusaderLocomotor
  
  Behavior = PhysicsBehavior ModuleTag_04
	Mass = 50.0
  End
  
 &#59; Turret fly off death
  Behavior = SlowDeathBehavior ModuleTag_05
	DeathTypes = ALL -CRUSHED -SPLATTED
	ProbabilityModifier = 50
;	ModifierBonusPerOverkillPercent = 30% &#59; negative means less likely to pick this in the face of much damage, positive means more likely
	DestructionDelay = 500
	DestructionDelayVariance = 100
	FX  = INITIAL  FX_GenericTankDeathEffect
	FX  = FINAL	FX_GenericTankDeathExplosion
	OCL = FINAL	OCL_PaladinTankDeathEffect
  End
  
 &#59; Catch fire, and explode death
  Behavior = SlowDeathBehavior ModuleTag_06
	DeathTypes = ALL -CRUSHED -SPLATTED
	ProbabilityModifier = 50
	DestructionDelay = 2000
	DestructionDelayVariance = 300
	FX  = INITIAL  FX_CrusaderCatchFire
	OCL = FINAL	OCL_PaladinTankDeathEffect
	FX  = FINAL	FX_GenericTankDeathExplosion 
  End

 &#59;Behavior = PointDefenseLaserUpdate ModuleTag_07
 &#59;  WeaponTemplate		= PaladinPointDefenseLaser
 &#59;  PrimaryTargetTypes	= SMALL_MISSILE
 &#59;  SecondaryTargetTypes  = INFANTRY
 &#59;  ScanRate			  = 500
 &#59;  ScanRange			 = 120.0
 &#59;  PredictTargetVelocityFactor = 3.0
 &#59;End
  
  Behavior = OverlordContain ModuleTag_07
	Slots				   = 1
	DamagePercentToUnits	= 100%
	AllowInsideKindOf	   = PORTABLE_STRUCTURE
	PassengersAllowedToFire = Yes
	PayloadTemplateName	 = AmericaTankPaladinLaserTurret
	ExperienceSinkForRider  = Yes&#59; I get the Exp for things my turret friend kills
  End

  Behavior = ObjectCreationUpgrade ModuleTag_08
	UpgradeObject = OCL_AmericanBattleDrone
	TriggeredBy   = Upgrade_AmericaBattleDrone
	ConflictsWith = Upgrade_AmericaScoutDrone Upgrade_AmericaHellfireDrone
  End
  Behavior = ObjectCreationUpgrade ModuleTag_09
	UpgradeObject = OCL_AmericanScoutDrone
	TriggeredBy   = Upgrade_AmericaScoutDrone
	ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaHellfireDrone
  End 
  Behavior = ObjectCreationUpgrade ModuleTag_19
	UpgradeObject = OCL_AmericanHellfireDrone
	TriggeredBy   = Upgrade_AmericaHellfireDrone
	ConflictsWith = Upgrade_AmericaBattleDrone Upgrade_AmericaScoutDrone
  End Upgrade_AmericaHellfireDrone

  Behavior = ProductionUpdate ModuleTag_10
	MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
  End

  Behavior = ExperienceScalarUpgrade ModuleTag_11
	TriggeredBy = Upgrade_AmericaAdvancedTraining
	AddXPScalar = 1.0&#59;Increases experience gained by an additional 100%
  End

  Behavior = TransitionDamageFX ModuleTag_12
	ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmokeSmallContinuous01
	ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
  End

  Behavior = FXListDie ModuleTag_13
	DeathTypes = NONE +CRUSHED +SPLATTED
	DeathFX = FX_CarCrush
  End
  Behavior = CreateObjectDie ModuleTag_14
	DeathTypes = NONE +CRUSHED +SPLATTED
	CreationList = OCL_CrusaderTank_CrushEffect
  End
  Behavior = DestroyDie ModuleTag_15
	DeathTypes = NONE +CRUSHED +SPLATTED
  End
  Behavior = CreateCrateDie ModuleTag_16
	CrateData = SalvageCrateData
   &#59;CrateData = EliteTankCrateData
   &#59;CrateData = HeroicTankCrateData
  End
  Behavior = EjectPilotDie ModuleTag_17
	DeathTypes = ALL -CRUSHED -SPLATTED
	ExemptStatus = HIJACKED
	GroundCreationList = OCL_EjectPilotOnGround
	AirCreationList = OCL_EjectPilotViaParachute
	VeterancyLevels =  ALL -REGULAR&#59;only vet+ gives pilot
  End

  Behavior = MaxHealthUpgrade ModuleTag_18
	TriggeredBy   = Upgrade_AmericaCompositeArmor
	AddMaxHealth  = 250.0
	ChangeType	= ADD_CURRENT_HEALTH_TOO  &#59;Choices are PRESERVE_RATIO, ADD_CURRENT_HEALTH_TOO, and SAME_CURRENTHEALTH
  End

  Behavior = FlammableUpdate ModuleTag_21
	AflameDuration = 5000		&#59; If I catch fire, I'll burn for this long...
	AflameDamageAmount = 3	  &#59; taking this much damage...
	AflameDamageDelay = 500	  &#59; this often.
  End

  Geometry = BOX
  GeometryMajorRadius = 15.0
  GeometryMinorRadius = 10.0
  GeometryHeight = 10.0	 
  GeometryIsSmall = Yes	
  Shadow = SHADOW_VOLUME
  ShadowSizeX = 45 &#59; minimum elevation angle above horizon. Used to limit shadow length

End


I changed only the SuperWeaponGeneral.ini, not the CommandSet.ini or something else, but what I did wrong?

#2 Destiny

    Forum Nakadashi-er

  • Member Test
  • 3141 posts

Posted 10 March 2009 - 07:45

Actually this would be appropriate in the "Games Modding" section of the Community subforum. The image, however, is good enough to be in the Strange Moments thread :duh:

I don't really know the specifics, so I'll leave it to the more experienced ones.
Posted Image

#3 Waris

    Endless Sip

  • Gold Member
  • 7458 posts
  • Projects: The End of Days, DTU Donutin Council Co-Chairman

Posted 10 March 2009 - 07:47

That's a funky Palabot/Robodin :duh:

Edited by Moomin, 10 March 2009 - 07:47.


#4 BeefJeRKy

    Formerly known as Scopejim

  • Gold Member
  • 5114 posts
  • Projects: Life

Posted 10 March 2009 - 08:10

Moved to correct section.
Posted Image

#5 JJ

    Half dead member

  • Project Leader
  • 3294 posts
  • Projects: Real life things, personal RA3 mod

Posted 10 March 2009 - 09:38

May I suggest you copy all the Robot Tank codes to the Paladin, then modifying from there?

#6 Zeke

    The X General

  • Project Team
  • 3504 posts
  • Projects: Deep Impact (formerly EC)

Posted 10 March 2009 - 11:53

did you change the codes while the game was running?

#7 Jazzie Spurs

    [Pantsu-Dan]

  • Project Team
  • 4073 posts
  • Projects: Commanding the ECA 33rd Ground Assault Team.

Posted 10 March 2009 - 12:04

I must say that it's awesome how good it looks. =0

Posted Image
Posted Image
Posted ImageBlack Lagoon OST
Posted Image

#8 nightmaim

    Newbie

  • Member
  • 2 posts

Posted 10 March 2009 - 18:27

SOLVED!

Before any modifies I made a backup of SuperWeaponsGeneral.ini which I named SuperWeaponsGenerals - Copy.ini (the one with original RobotTank code) and put it in a folder named Backup, inside INI directory...I don't know how, but the game have found this backup and compiled BOTH! :duh:

So, do not leave any files in the folder Data\INI, except those you will use, of course. :dizzy:



1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users