Posted by: NOP - Sunday, July 10, 2011 7:25:34 AM
Does anyone know if it's possible to have 2 upgrades on the same weapon? I'm thinking of the Mig for nuke general having both the black napalm upgrade and the tactical nukes upgrade... The original ini code displays upgrade cameo for black napalm, as well as tactical nukes, but it has no effect on the weapon set. I want to fix this...

Posted by: Annihilationzh - Sunday, July 10, 2011 7:43:50 AM
You'll have to add the napalm code to the missile instead of the weapon. If you need an example, look at toxin shells, as they do it via the shell instead of the weapon.

Posted by: NOP - Sunday, July 10, 2011 3:23:23 PM
I think I get what you are saying, but after studying the toxin shells, I still cant get my weapon to work; I added a "Fire weapon when dead" to the missile object, but it doesnt fire. As a test, I just want the missile to leave toxins like toxin shells, except not require an upgrade... Heres the code: Weapon.ini: [code]Weapon NEWNuke_MiGMissileWeapon PrimaryDamage = 100.0 PrimaryDamageRadius = 5.0 SecondaryDamage = 40.0 SecondaryDamageRadius = 30.0 DamageType = JET_MISSILES ; since creates FireField to do the flame damage DeathType = EXPLODED AttackRange = 320.0 MinimumAttackRange = 80.0 ; used to be 100.0, but that was too large for mig/missile speed ProjectileObject = NukeGeneralsNapalmMissile ProjectileExhaust = MissileExhaust VeterancyProjectileExhaust = HEROIC HeroicMissileExhaust FireFX = WeaponFX_NapalmMissile FireSound = MigJetNapalmWeapon RadiusDamageAffects = ALLIES ENEMIES NEUTRALS NOT_SIMILAR AcceptableAimDelta = 30 DelayBetweenShots = 300 ; time between shots, msec ClipSize = 2 ; how many shots in a Clip (0 == infinite) ClipReloadTime = 8000 ; how long to reload a Clip, msec AutoReloadsClip = RETURN_TO_BASE ; must return to base to reload this weapon AntiGround = Yes ProjectileDetonationFX = WeaponFX_JetMissileDetonation ; ProjectileDetonationOCL = OCL_RadiationFieldSmall DamageDealtAtSelfPosition = Yes ProjectileCollidesWith = STRUCTURES AntiAirborneVehicle = Yes AntiAirborneInfantry = No ShowsAmmoPips = Yes End[/code] WeaponObjects.ini: [code]; ---- begin Projectile death behaviors Behavior = InstantDeathBehavior DeathModuleTag_01 DeathTypes = NONE +DETONATED ; we detonated normally. ; no FX, just quiet destroy ourselves End Behavior = InstantDeathBehavior DeathModuleTag_02 DeathTypes = NONE +LASERED ; shot down by laser. FX = FX_GenericMissileDisintegrate OCL = OCL_GenericMissileDisintegrate End Behavior = InstantDeathBehavior DeathModuleTag_03 DeathTypes = ALL -LASERED -DETONATED ; shot down by nonlaser. FX = FX_GenericMissileDeath End Behavior = FireWeaponWhenDeadBehavior ModuleTag_04 DeathWeapon = ToxinShellWeapon StartsActive = Yes End[/code] Any thoughts?

Posted by: Annihilationzh - Monday, July 11, 2011 5:28:14 AM
Not sure why that doesn't work. I even tried different death modules and it still didn't work. So, on to workarounds. I made this because workarounds are notoriously hard to explain. In Weapon.ini [code] ;------------------------------------------------------------------------------ Weapon Nuke_MiGMissileWeapon ;changed OCL only from the original ZH PrimaryDamage = 100.0 PrimaryDamageRadius = 5.0 SecondaryDamage = 40.0 SecondaryDamageRadius = 30.0 DamageType = JET_MISSILES ; since creates FireField to do the flame damage DeathType = EXPLODED AttackRange = 320.0 MinimumAttackRange = 80.0 ; used to be 100.0, but that was too large for mig/missile speed ProjectileObject = NapalmMissile ProjectileExhaust = MissileExhaust VeterancyProjectileExhaust = HEROIC HeroicMissileExhaust FireFX = WeaponFX_NapalmMissile FireSound = MigJetNapalmWeapon RadiusDamageAffects = ALLIES ENEMIES NEUTRALS NOT_SIMILAR AcceptableAimDelta = 30 DelayBetweenShots = 300 ; time between shots, msec ClipSize = 2 ; how many shots in a Clip (0 == infinite) ClipReloadTime = 8000 ; how long to reload a Clip, msec AutoReloadsClip = RETURN_TO_BASE ; must return to base to reload this weapon AntiGround = Yes ProjectileDetonationFX = WeaponFX_JetMissileDetonation ProjectileDetonationOCL = OCL_MiGNapalmSpawner ;OCL_RadiationFieldSmall DamageDealtAtSelfPosition = Yes ProjectileCollidesWith = STRUCTURES AntiAirborneVehicle = Yes AntiAirborneInfantry = No ShowsAmmoPips = Yes End ;------------------------------------------------------------------------------ Weapon NapalmSpawnerWeapon ;completely new PrimaryDamage = 0.0 PrimaryDamageRadius = 1.0 AttackRange = 100.0 DamageType = EXPLOSION DeathType = EXPLODED WeaponSpeed = 99999.0 ProjectileObject = NONE FireFX = WeaponFX_NapalmMissileDetonation FireOCL = OCL_FireFieldSmall RadiusDamageAffects = ALLIES ENEMIES NEUTRALS DelayBetweenShots = 0 ; time between shots, msec ClipSize = 1 ; how many shots in a Clip (0 == infinite) ClipReloadTime = 0 ; how long to reload a Clip, msec AutoReloadsClip = No AntiGround = Yes DamageDealtAtSelfPosition = Yes HistoricBonusTime = 3000 HistoricBonusCount = 8 HistoricBonusRadius = 100 HistoricBonusWeapon = FirestormSmallCreationWeapon End ;------------------------------------------------------------------------------ Weapon BlackNapalmSpawnerWeapon ;completely new PrimaryDamage = 0.0 PrimaryDamageRadius = 1.0 AttackRange = 100.0 DamageType = EXPLOSION DeathType = EXPLODED WeaponSpeed = 99999.0 ProjectileObject = NONE FireFX = WeaponFX_BlackNapalmExplosion FireOCL = OCL_FireFieldUpgradedSmall RadiusDamageAffects = ALLIES ENEMIES NEUTRALS DelayBetweenShots = 0 ; time between shots, msec ClipSize = 1 ; how many shots in a Clip (0 == infinite) ClipReloadTime = 0 ; how long to reload a Clip, msec AutoReloadsClip = No AntiGround = Yes DamageDealtAtSelfPosition = Yes HistoricBonusTime = 3000 HistoricBonusCount = 8 HistoricBonusRadius = 100 HistoricBonusWeapon = BlackNapalmFirestormSmallCreationWeapon End[/code] ObjectCreationList.ini [code] ; ---------------------------------------------- ObjectCreationList OCL_MiGNapalmSpawner CreateObject ObjectNames = MiGNapalmSpawner Disposition = ON_GROUND_ALIGNED End End [/code] And object code: [code];------------------------------------------------------------------------------ Object MiGNapalmSpawner Draw = W3DModelDraw ModuleTag_01 DefaultConditionState Model = NONE End End EditorSorting = SYSTEM ArmorSet Armor = ProjectileArmor End VisionRange = 0.0 KindOf = PROJECTILE Body = ActiveBody ModuleTag_02 MaxHealth = 100.0 InitialHealth = 100.0 End Behavior = DestroyDie ModuleTag_03 End Behavior = LifetimeUpdate ModuleTag_04 MinLifetime = 1 MaxLifetime = 1 End Behavior = FireWeaponWhenDeadBehavior ModuleTag_05 DeathWeapon = NapalmSpawnerWeapon StartsActive = Yes ConflictsWith = Upgrade_ChinaBlackNapalm End Behavior = FireWeaponWhenDeadBehavior ModuleTag_06 DeathWeapon = BlackNapalmSpawnerWeapon StartsActive = No TriggeredBy = Upgrade_ChinaBlackNapalm End End[/code]

Posted by: NOP - Monday, July 11, 2011 3:06:48 PM
Sorry for the late post, I had to finish something on my war factory and some other stuff, but I implemented your code and it worked perfectly!!! I've changed a few things now so the missiles on weaponset 1 just explode and then leave radiation instead of flames... The radiation damage is increased by my "Man made isotopes" upgrade, which replaces black napalm as I have converted all "napalm" attacks to "nuclear" for this general... Weaponset 2 fires the tactical nuke which is also affected by the "Man made isotopes" upgrade... So there you have it! 2 weapon upgrades on the same unit!!! Thank you so much for your time and help, you really made my day!