Zealot Solari
5 years ago
Hello everyone.

i'v been trying to make the overlord tank to be able to have 2 upgrades at once (turret and bunker)
but i cant make it work ,if the bunker applied first then the turret wont work and if the turret applies first then the bunker wont work.

i'v tried using (AddModule draw) and (Behavior = TransportContain) to try to merge the bunker with either the tank it self or the turret upgrade (Object ChinaTankOverlordGattlingCannon) and it still same issue the turret will apply first and bunker module wont show or work

here is my ini the highlighted text is the one i edited

Overlord Tank ini

Object ChinaTankOverlord

; *** ART Parameters ***
SelectPortrait = SNOverlord_L
ButtonImage = SNOverlord

UpgradeCameo1 = Upgrade_ChinaUraniumShells
UpgradeCameo2 = Upgrade_ChinaNuclearTanks
UpgradeCameo3 = Upgrade_ChinaOverlordBattleBunker
UpgradeCameo4 = Upgrade_ChinaOverlordGattlingCannon
UpgradeCameo5 = Upgrade_ChinaOverlordPropagandaTower


Draw = W3DOverlordTankDraw ModuleTag_01
ConditionState = NONE
Model = NVOvrlrd
Animation = NVOvrlrd.NVOvrlrd
AnimationMode = LOOP
Turret = Turret01
WeaponFireFXBone = PRIMARY Muzzle
WeaponRecoilBone = PRIMARY Barrel
WeaponMuzzleFlash = PRIMARY MuzzleFX
WeaponLaunchBone = PRIMARY Muzzle
End
ConditionState = REALLYDAMAGED
Model = NVOvrlrd_d
Animation = NVOvrlrd_d.NVOvrlrd_d
AnimationMode = LOOP
Turret = Turret01
WeaponFireFXBone = PRIMARY Muzzle
WeaponRecoilBone = PRIMARY Barrel
WeaponMuzzleFlash = PRIMARY MuzzleFX
WeaponLaunchBone = PRIMARY Muzzle
End

ConditionState = RUBBLE
Model = NVOvrlrd_d
Turret = Turret01
WeaponFireFXBone = PRIMARY Muzzle
WeaponRecoilBone = PRIMARY Barrel
WeaponMuzzleFlash = PRIMARY MuzzleFX
WeaponLaunchBone = PRIMARY Muzzle
End

TrackMarks = EXTnkTrack.tga
OkToChangeModelColor = Yes
TreadAnimationRate = 2.0; amount of tread texture to move per second
TreadDriveSpeedFraction = 0.3 ; fraction of locomotor speed below which treads stop moving.
TreadPivotSpeedFraction = 0.6 ; fraction of locomotor speed below which we allow pivoting.

End

; ***DESIGN parameters ***
DisplayName = OBJECT:Overlord
Side = China
EditorSorting = VEHICLE
TransportSlotCount = 3 ;how many "slots" we take in a transport (0 == not transportable)
WeaponSet
Conditions = None
Weapon = PRIMARY OverlordTankGun
End
WeaponSet
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY OverlordTankGun
Weapon = SECONDARY Lazr_PatriotMissileAssistWeapon ;Dummy weapon that allows manual targeting of air units outside range
;gattling cannon upgrade has been made.
End
ArmorSet
Conditions = None
Armor = TankArmor
DamageFX = TankDamageFX
End
BuildCost = 2000
BuildTime = 20.0 ;in seconds
VisionRange = 150
ShroudClearingRange = 200
Prerequisites
Object = ChinaWarFactory
Object = ChinaPropagandaCenter
End

ExperienceValue = 200 200 400 600 ;Experience point value at each level
ExperienceRequired = 0 400 600 1200 ;Experience points needed to gain each level
IsTrainable = Yes ;Can gain experience
CrusherLevel = 3 ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
CrushableLevel = 3 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CommandSet = ChinaTankOverlordDefaultCommandSet

; *** AUDIO Parameters ***
VoiceSelect = OverlordTankVoiceSelect
SoundMoveStart = OverlordTankMoveStart
SoundMoveStartDamaged = OverlordTankMoveStart
VoiceMove = OverlordTankVoiceMove
VoiceGuard = OverlordTankVoiceMove
VoiceAttack = OverlordTankVoiceAttack

UnitSpecificSounds
; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
VoiceCreate = OverlordTankVoiceCreate
TurretMoveStart = NoSound
TurretMoveLoop = OverlordTankTurretMoveLoop
VoiceCrush = OverlordTankVoiceCrush
VoiceEnter = OverlordTankVoiceMove
VoiceUnload = OverlordTankVoiceUnload
End

; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS VEHICLE SCORE HUGE_VEHICLE

Body = ActiveBody ModuleTag_02
MaxHealth = 1100.0
InitialHealth = 1100.0

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

Behavior = TransportAIUpdate ModuleTag_03
Turret
TurretTurnRate = 60 ;30 ;15 // turn rate, in degrees per sec
ControlledWeaponSlots = PRIMARY
End
AutoAcquireEnemiesWhenIdle = Yes
End

Locomotor = SET_NORMAL OverlordLocomotor
Locomotor = SET_NORMAL_UPGRADED NuclearOverlordLocomotor

Behavior = FireWeaponWhenDeadBehavior ModuleTag_04
DeathWeapon = NuclearTankDeathWeapon
StartsActive = No ; turned on by upgrade
TriggeredBy = Upgrade_ChinaNuclearTanks
End
Behavior = LocomotorSetUpgrade ModuleTag_05
TriggeredBy = Upgrade_ChinaNuclearTanks
End
Behavior = OverlordContain ModuleTag_Bunker ; Like Transport, but when full, passes transport queries along to first passenger (redirects like tunnel)
Slots = 1
DamagePercentToUnits = 100%
AllowInsideKindOf = PORTABLE_STRUCTURE
PassengersAllowedToFire = Yes
PayloadTemplateName = ChinaTankOverlordBattleBunker
PassengersInTurret = Yes ; My passengers ride in my turret, that's where the Firepoint bones are
ExperienceSinkForRider = Yes ; I get the Exp for things my turret friend kills
End
Behavior = OverlordContain ModuleTag_Turret ; Like Transport, but when full, passes transport queries along to first passenger (redirects like tunnel)
Slots = 1
DamagePercentToUnits = 100%
AllowInsideKindOf = PORTABLE_STRUCTURE
PassengersAllowedToFire = Yes
PayloadTemplateName = ChinaTankOverlordGattlingCannon
PassengersInTurret = Yes ; My passengers ride in my turret, that's where the Firepoint bones are
ExperienceSinkForRider = Yes ; I get the Exp for things my turret friend kills
End
Behavior = ObjectCreationUpgrade ModuleTag_07
UpgradeObject = OCL_OverlordGattlingCannon
TriggeredBy = Upgrade_ChinaOverlordGattlingCannon
ConflictsWith = Upgrade_ChinaOverlordPropagandaTower
End
Behavior = WeaponSetUpgrade ModuleTag_WeaponSetUpgrade01
TriggeredBy = Upgrade_ChinaOverlordGattlingCannon
ConflictsWith = Upgrade_ChinaOverlordPropagandaTower
End
Behavior = ObjectCreationUpgrade ModuleTag_08
UpgradeObject = OCL_OverlordPropagandaTower
TriggeredBy = Upgrade_ChinaOverlordPropagandaTower
ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordBattleBunker
End
Behavior = ObjectCreationUpgrade ModuleTag_09
UpgradeObject = OCL_OverlordBattleBunker
TriggeredBy = Upgrade_ChinaOverlordBattleBunker
ConflictsWith = Upgrade_ChinaOverlordPropagandaTower
End
Behavior = ProductionUpdate ModuleTag_10
MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
End
Behavior = CommandSetUpgrade ModuleTag_11
CommandSet = ChinaTankOverlordBattleBunkerCommandSet
TriggeredBy = Upgrade_ChinaOverlordGattlingCannon
ConflictsWith = Upgrade_ChinaOverlordPropagandaTower
End
Behavior = CommandSetUpgrade ModuleTag_12
CommandSet = ChinaTankOverlordPropagandaTowerCommandSet
TriggeredBy = Upgrade_ChinaOverlordPropagandaTower
ConflictsWith = Upgrade_ChinaOverlordGattlingCannon Upgrade_ChinaOverlordBattleBunker
End
Behavior = CommandSetUpgrade ModuleTag_13
CommandSet = ChinaTankOverlordBattleBunkerCommandSet
TriggeredBy = Upgrade_ChinaOverlordBattleBunker
ConflictsWith = Upgrade_ChinaOverlordPropagandaTower
End


Behavior = PhysicsBehavior ModuleTag_14
Mass = 50.0
End



; Smoke for a bit then explode
; Behavior = SlowDeathBehavior
;; ProbabilityModifier = 25
; DestructionDelay = 1500
; DestructionDelayVariance = 500
; FX = INITIAL FX_OverlordSmoke
; OCL = FINAL OCL_ChinaTankOverlordDebris
; FX = FINAL FX_GenericTankDeathExplosion
; End

; Catch fire, and explode death
; Behavior = SlowDeathBehavior
;; ProbabilityModifier = 25
; DestructionDelay = 2000
; DestructionDelayVariance = 300
; FX = INITIAL FX_CrusaderCatchFire
; OCL = FINAL OCL_ChinaTankOverlordDebris
; FX = FINAL FX_GenericTankDeathExplosion
; End

; Just explode death
Behavior = SlowDeathBehavior ModuleTag_16
ProbabilityModifier = 25
DestructionDelay = 200
DestructionDelayVariance = 100
OCL = FINAL OCL_ChinaTankOverlordDebris
FX = FINAL FX_OverlordExplosionOneFinal
End
Behavior = CreateCrateDie ModuleTag_17
CrateData = SalvageCrateData
;CrateData = EliteTankCrateData
;CrateData = HeroicTankCrateData
End

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

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

Geometry = BOX
GeometryMajorRadius = 26.0
GeometryMinorRadius = 13.0
GeometryHeight = 15.0
GeometryIsSmall = No
Shadow = SHADOW_VOLUME
ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length

End


Gatling gun upgrade

Object ChinaTankOverlordGattlingCannon

; *** ART Parameters ***
SelectPortrait = SNGatTower_L
ButtonImage = SNGatTower

;UpgradeCameo1 = Upgrade_Nationalism
UpgradeCameo1 = Upgrade_ChinaUraniumShells
UpgradeCameo2 = Upgrade_ChinaNuclearTanks
;UpgradeCameo4 = NONE
UpgradeCameo5 = Upgrade_ChinaOverlordGattlingCannon



Draw = W3DDependencyModelDraw ModuleTag_01
OkToChangeModelColor = Yes
AttachToBoneInContainer = FIREPOINT01

DefaultConditionState
Model = ABLaserTrt
Turret = TURRET01
TurretPitch = TURRETEL
;WeaponLaunchBone = PRIMARY WeaponA
;WeaponLaunchBone = SECONDARY WeaponA
;WeaponLaunchBone = TERTIARY WeaponA
;WeaponFireFXBone = PRIMARY WeaponA
;WeaponFireFXBone = SECONDARY WeaponA
;WeaponFireFXBone = TERTIARY WeaponA
End

ConditionState = REALLYDAMAGED
Model = ABLaserTrt
Turret = TURRET01
TurretPitch = TURRETEL
WeaponLaunchBone = PRIMARY WeaponA
WeaponLaunchBone = SECONDARY WeaponA
WeaponLaunchBone = TERTIARY WeaponA
WeaponFireFXBone = PRIMARY WeaponA
WeaponFireFXBone = SECONDARY WeaponA
WeaponFireFXBone = TERTIARY WeaponA
End
End


; ***DESIGN parameters ***
Side = China
EditorSorting = SYSTEM
TransportSlotCount = 1
WeaponSet
Conditions = None
Weapon = PRIMARY Lazr_PatriotMissileAssistWeapon
Weapon = SECONDARY Lazr_PatriotMissileAssistWeapon
Weapon = TERTIARY Lazr_PatriotMissileAssistWeapon
AutoChooseSources = PRIMARY FROM_PLAYER FROM_AI FROM_SCRIPT
AutoChooseSources = SECONDARY NONE
AutoChooseSources = TERTIARY FROM_PLAYER FROM_AI FROM_SCRIPT
PreferredAgainst = PRIMARY VEHICLE INFANTRY
PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT
PreferredAgainst = TERTIARY BALLISTIC_MISSILE AIRCRAFT
ShareWeaponReloadTime = Yes
End


ArmorSet
Conditions = None
Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module
End
VisionRange = 200

; *** AUDIO Parameters ***
UnitSpecificSounds
TurretMoveStart = NoSound
TurretMoveLoop = NoSound ;TurretMoveLoop
VoiceRapidFire = NoSound
End

; *** ENGINEERING Parameters ***
KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CLICK_THROUGH IGNORED_IN_GUI
Body = StructureBody ModuleTag_02
MaxHealth = 100.0
InitialHealth = 100.0
End

Behavior = AIUpdateInterface ModuleTag_03
Turret
ControlledWeaponSlots = PRIMARY SECONDARY
TurretTurnRate = 180 // turn rate, in degrees per sec
TurretPitchRate = 180
AllowsPitch = Yes
NaturalTurretPitch = 0
End
AutoAcquireEnemiesWhenIdle = Yes
End

Behavior = DestroyDie ModuleTag_04
;nothing
End

Behavior = StealthDetectorUpdate ModuleTag_06
DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec)
;DetectionRange = ??? ; Defaults to VisionRange
CanDetectWhileContained = Yes
End

Geometry = BOX
GeometryMajorRadius = 8.0
GeometryMinorRadius = 8.0
GeometryHeight = 9.0
GeometryIsSmall = No
Shadow = SHADOW_VOLUME
ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length
Scale = 0.5
End


Add module that i tried using

AddModule
Draw = W3DDependencyModelDraw ModuleTag_07
OkToChangeModelColor = Yes
AttachToBoneInContainer = FIREPOINT01

ConditionState = NONE
Model = NVOvrlrd_B
End
ConditionState = REALLYDAMAGED
Model = NVOvrlrd_BD
ParticleSysBone = Smoke01 SmolderingSmoke
ParticleSysBone = Smoke02 SmolderingSmoke
ParticleSysBone = Flame01 SmolderingFire
ParticleSysBone = Flame01 SmolderingFlameCore
ParticleSysBone = Spark01 LiveWireSparks
End
; night
ConditionState = NIGHT
Model = NVOvrlrd_B
End
ConditionState = NIGHT REALLYDAMAGED
Model = NVOvrlrd_BD
ParticleSysBone = Smoke01 SmolderingSmoke
ParticleSysBone = Smoke02 SmolderingSmoke
ParticleSysBone = Flame01 SmolderingFire
ParticleSysBone = Flame01 SmolderingFlameCore
ParticleSysBone = Spark01 LiveWireSparks
End
AliasConditionState = RUBBLE
End
PlacementViewAngle = -45
End


i think that the issue is with (FIREPOINT01) bone
i'v been trying to make it work for the past 4 hours with different combinations yet still nothing.
Sponsor
Annihilationzh
5 years ago
It's not possible to mount two addons at once.

The simplest way to do it would be make the gattling cannon into a gattling bunker. I.E. Add the bunker code and a second draw module.

You can't use AddModule in a mod. That's for Map.ini
If you need help, post in the forum. You'll get help a lot faster than if you send me a PM.

I reject all buddy requests. I don't think 'buddy' needs to be made official. It's not like you're marrying me.
NewNightmare
5 years ago
Funny I randomly logged in because I found my making of comic for the helix upgrade challenge from 2012.
Susprised annihilationzh is still alive and kicking here.

Attaching the comic and artwork, I don't have the original code. Use it as inspiration   UltimateHelixUpgrade.7z (865kb) downloaded 59 time(s).
haggis
  • haggis
  • 50.25% (Neutral)
  • Private
5 years ago

The simplest way to do it would be make the gattling cannon into a gattling bunker. I.E. Add the bunker code and a second draw module.

Originally Posted by: Annihilationzh 



I'm also interested in this; what do you mean by bunker code? Is it just the contain behavior?

And what do you mean by draw module? Is it this part?


Draw = W3DDependencyModelDraw ModuleTag_01
OkToChangeModelColor = Yes
AttachToBoneInContainer = FIREPOINT01

ConditionState = NONE
Model = NVOvrlrd_B
End
ConditionState = REALLYDAMAGED
Model = NVOvrlrd_BD
ParticleSysBone = Smoke01 SmolderingSmoke
ParticleSysBone = Smoke02 SmolderingSmoke
ParticleSysBone = Flame01 SmolderingFire
ParticleSysBone = Flame01 SmolderingFlameCore
ParticleSysBone = Spark01 LiveWireSparks
End
; night
ConditionState = NIGHT
Model = NVOvrlrd_B
End
ConditionState = NIGHT REALLYDAMAGED
Model = NVOvrlrd_BD
ParticleSysBone = Smoke01 SmolderingSmoke
ParticleSysBone = Smoke02 SmolderingSmoke
ParticleSysBone = Flame01 SmolderingFire
ParticleSysBone = Flame01 SmolderingFlameCore
ParticleSysBone = Spark01 LiveWireSparks
End
End



Wouldn't that replace the entire Overlord model so that it no longer has a Gattling gun?
Annihilationzh
5 years ago

I'm also interested in this; what do you mean by bunker code? Is it just the contain behavior?



Overlord addons are seperate units. They're 'passengers' in the overlord. I.E. ChinaTankOverlordBattleBunker, ChinaTankOverlordGattlingCannon, ChinaTankOverlordPropagandaTower

The bunker has a module that allows troops inside.

And what do you mean by draw module? Is it this part?


Correct.

Wouldn't that replace the entire Overlord model so that it no longer has a Gattling gun?


That code is only for the overlord - not it's turrets.
If you need help, post in the forum. You'll get help a lot faster than if you send me a PM.

I reject all buddy requests. I don't think 'buddy' needs to be made official. It's not like you're marrying me.
haggis
  • haggis
  • 50.25% (Neutral)
  • Private
5 years ago
I tried putting the bunker's draw module (quoted above) into the overlord gattling, right after its own draw module; the game won't launch with this (encountered serious error blabla).

The bunker has a module that allows troops inside.

Originally Posted by: Annihilationzh 



I copied the bunker's contain module into the overlord gattling module, but it doesn't work in-game. Is it related to the draw module part?


Annihilationzh
5 years ago
Without seeing your code, I have no idea what you did wrong.
If you need help, post in the forum. You'll get help a lot faster than if you send me a PM.

I reject all buddy requests. I don't think 'buddy' needs to be made official. It's not like you're marrying me.
haggis
  • haggis
  • 50.25% (Neutral)
  • Private
5 years ago

;------------------------------------------------------------------------------
Object Tank_ChinaTankOverlordGattlingCannon

; *** ART Parameters ***
SelectPortrait = SNGatTower_L
ButtonImage = SNGatTower

;UpgradeCameo1 = Upgrade_Nationalism
UpgradeCameo1 = Upgrade_ChinaUraniumShells
UpgradeCameo2 = Upgrade_ChinaNuclearTanks
;UpgradeCameo4 = NONE
UpgradeCameo5 = Upgrade_ChinaOverlordGattlingCannon


Draw = W3DDependencyModelDraw ModuleTag_01
OkToChangeModelColor = Yes
AttachToBoneInContainer = FIREPOINT01

DefaultConditionState
Model = NVOvrlrd_G
Turret = TURRET01
TurretPitch = TURRETEL
WeaponFireFXBone = PRIMARY Muzzle
WeaponMuzzleFlash = PRIMARY MuzzleFX
WeaponFireFXBone = SECONDARY Muzzle
WeaponMuzzleFlash = SECONDARY MuzzleFX
End
ConditionState = CONTINUOUS_FIRE_SLOW
Model = NVOvrlrd_G
Animation = NVOvrlrd_G.NVOvrlrd_G
AnimationMode = LOOP
AnimationSpeedFactorRange = 0.1 0.1 ;set this state to animate s l o w l y
End
ConditionState = CONTINUOUS_FIRE_MEAN
Model = NVOvrlrd_G
Animation = NVOvrlrd_G.NVOvrlrd_G
AnimationMode = LOOP
AnimationSpeedFactorRange = 0.2 0.2 ;set this state to animate medium-fast
End
ConditionState = CONTINUOUS_FIRE_FAST
Model = NVOvrlrd_G
Animation = NVOvrlrd_G.NVOvrlrd_G
AnimationMode = LOOP
AnimationSpeedFactorRange = 0.3 0.3 ;set this state to animate vryfst
ParticleSysBone = Muzzle01 GattlingMuzzleSmoke
ParticleSysBone = Muzzle02 GattlingMuzzleSmoke
End

ConditionState = REALLYDAMAGED
Model = NVOvrlrd_GD
Turret = TURRET01
TurretPitch = TURRETEL
WeaponFireFXBone = PRIMARY Muzzle
WeaponMuzzleFlash = PRIMARY MuzzleFX
WeaponFireFXBone = SECONDARY Muzzle
WeaponMuzzleFlash = SECONDARY MuzzleFX
ParticleSysBone = Smoke01 SmokeFactionMedium
ParticleSysBone = Smoke02 SmokeFactionMedium
ParticleSysBone = Smoke03 SmokeFactionMedium
ParticleSysBone = SparkM01 SparksMedium
ParticleSysBone = SparkM02 SparksMedium
End
ConditionState = CONTINUOUS_FIRE_SLOW REALLYDAMAGED
Model = NVOvrlrd_GD
Animation = NVOvrlrd_G.NVOvrlrd_G
AnimationMode = LOOP
AnimationSpeedFactorRange = 0.1 0.1 ;set this state to animate s l o w l y
End
ConditionState = CONTINUOUS_FIRE_MEAN REALLYDAMAGED
Model = NVOvrlrd_GD
Animation = NVOvrlrd_G.NVOvrlrd_G
AnimationMode = LOOP
AnimationSpeedFactorRange = 0.2 0.2 ;set this state to animate medium-fast
End
ConditionState = CONTINUOUS_FIRE_FAST REALLYDAMAGED
Model = NVOvrlrd_GD
Animation = NVOvrlrd_G.NVOvrlrd_G
AnimationMode = LOOP
AnimationSpeedFactorRange = 0.3 0.3 ;set this state to animate vryfst
ParticleSysBone = Muzzle01 GattlingMuzzleSmoke
ParticleSysBone = Muzzle02 GattlingMuzzleSmoke
End

Draw = W3DDependencyModelDraw ModuleTag_01
OkToChangeModelColor = Yes
AttachToBoneInContainer = FIREPOINT01

ConditionState = NONE
Model = NVOvrlrd_B
End
ConditionState = REALLYDAMAGED
Model = NVOvrlrd_BD
ParticleSysBone = Smoke01 SmolderingSmoke
ParticleSysBone = Smoke02 SmolderingSmoke
ParticleSysBone = Flame01 SmolderingFire
ParticleSysBone = Flame01 SmolderingFlameCore
ParticleSysBone = Spark01 LiveWireSparks
End
; night
ConditionState = NIGHT
Model = NVOvrlrd_B
End
ConditionState = NIGHT REALLYDAMAGED
Model = NVOvrlrd_BD
ParticleSysBone = Smoke01 SmolderingSmoke
ParticleSysBone = Smoke02 SmolderingSmoke
ParticleSysBone = Flame01 SmolderingFire
ParticleSysBone = Flame01 SmolderingFlameCore
ParticleSysBone = Spark01 LiveWireSparks
End
End

End

; ***DESIGN parameters ***
Side = ChinaTankGeneral
EditorSorting = SYSTEM
TransportSlotCount = 1
WeaponSet
Conditions = None
Weapon = PRIMARY GattlingBuildingGun
Weapon = SECONDARY GattlingBuildingGunAir
PreferredAgainst = SECONDARY BALLISTIC_MISSILE AIRCRAFT
End

ArmorSet
Conditions = None
Armor = InvulnerableAllArmor ; We can't be hurt on the field. We share damage from the Overlord with his damage module
End
VisionRange = 200

; *** AUDIO Parameters ***
UnitSpecificSounds
TurretMoveStart = NoSound
TurretMoveLoop = NoSound ;TurretMoveLoop
VoiceRapidFire = NoSound
End

; *** ENGINEERING Parameters ***
KindOf = PRELOAD PORTABLE_STRUCTURE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CLICK_THROUGH IGNORED_IN_GUI
Body = StructureBody ModuleTag_02
MaxHealth = 100.0
InitialHealth = 100.0
End

Behavior = VeterancyGainCreate ModuleTag_07
StartingLevel = VETERAN
End

Behavior = AIUpdateInterface ModuleTag_03
Turret
ControlledWeaponSlots = PRIMARY SECONDARY
TurretTurnRate = 60 // turn rate, in degrees per sec
TurretPitchRate = 60
AllowsPitch = Yes
End
AutoAcquireEnemiesWhenIdle = Yes
End

Behavior = TransportContain ModuleTag_03
Slots = 5
PassengersAllowedToFire = Yes
AllowInsideKindOf = INFANTRY
InitialPayload = Tank_ChinaInfantryTankHunter 5
EnterSound = GarrisonEnter
ExitSound = GarrisonExit
DamagePercentToUnits = 50%
End


Behavior = DestroyDie ModuleTag_04
;nothing
End

Behavior = WeaponBonusUpgrade ModuleTag_05
TriggeredBy = Upgrade_ChinaChainGuns
End

Behavior = StealthDetectorUpdate ModuleTag_06
DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec)
;DetectionRange = ??? ; Defaults to VisionRange
CanDetectWhileContained = Yes
End

Geometry = BOX
GeometryMajorRadius = 8.0
GeometryMinorRadius = 8.0
GeometryHeight = 9.0
GeometryIsSmall = No
Shadow = SHADOW_VOLUME
ShadowSizeX = 45 ; minimum elevation angle above horizon. Used to limit shadow length

End



Things I added are in bold/italic. The draw portion causes the game not to launch, and without it the game launches but the contain portion doesn't do anything.
Annihilationzh
5 years ago
Crash: You put the second draw module inside the first draw module.

Fix: See the "End" immediately after your bolded draw module? Move it up above the bolded section.

Also your ModuleTags all need to be different. You have two ModuleTag_01 and two ModuleTag_03. It won't cause a crash but it can cause glitches. It doesn't matter what they're called: ModuleTag_X, Module_01, Tag_01. As long as they're all different.

I can think of quite a few reasons for why the contain is not working, and both of these issues are possible reasons.
If you need help, post in the forum. You'll get help a lot faster than if you send me a PM.

I reject all buddy requests. I don't think 'buddy' needs to be made official. It's not like you're marrying me.
haggis
  • haggis
  • 50.25% (Neutral)
  • Private
5 years ago

I can think of quite a few reasons for why the contain is not working, and both of these issues are possible reasons.

Originally Posted by: Annihilationzh 



Fixed the crash issue as you instructed and changed the module tag to 08, but the contain still doesn't work. What are the other possible reasons?

Is it related to weaponset? I've added a tertiary weapon to the Overlord itself which works fine, but I tried adding a tertiary weapon to the Overlord gattling gun and it wouldn't work. Are these issues related?
Annihilationzh
5 years ago

Are these issues related?


They are. I didn't even notice before but you're using the Tank_ChinaTankOverlordGattlingCannon. It's unused. The Tank general's overlord uses the regular overlord gattling cannon.
If you need help, post in the forum. You'll get help a lot faster than if you send me a PM.

I reject all buddy requests. I don't think 'buddy' needs to be made official. It's not like you're marrying me.
haggis
  • haggis
  • 50.25% (Neutral)
  • Private
5 years ago

Are these issues related?

Originally Posted by: Annihilationzh 


The Tank general's overlord uses the regular overlord gattling cannon.



I... didn't see that one coming.

Since I already changed Tank_ChinaTankOverlordGattlingCannon, would it be easier for me to change the Emperor to use that one? This unused object would just be a carbon copy of the other one so there'd be no harm right?

I tried exactly that in the Emperor code:


Behavior = ObjectCreationUpgrade ModuleTag_07
UpgradeObject = OCL_Tank_OverlordGattlingCannon
TriggeredBy = Upgrade_ChinaOverlordGattlingCannon
;ConflictsWith = Upgrade_ChinaOverlordBattleBunker
End



The contain now works (there's no button to move the infantry out but I'd need to edit the command inis for that; doesn't show the "pips" for the amount of inf in it, but it's not a huge issue), but the gattling cannon is completely gone - no model, no shooting.

I think it's due to us drawing the bunker thing over the gattling thing?

EDIT

I'm not sure the contain actually works (was playing with other secondary weapons), testing now

EDIT2

Yeah contain doesn't work either, so I guess my tweak didn't generate the correct object. How should the syntax actually work?
Annihilationzh
5 years ago

OCL_Tank_OverlordGattlingCannon



That needs to be defined in ObjectCreationList.ini. Have you done that?
If you need help, post in the forum. You'll get help a lot faster than if you send me a PM.

I reject all buddy requests. I don't think 'buddy' needs to be made official. It's not like you're marrying me.
haggis
  • haggis
  • 50.25% (Neutral)
  • Private
5 years ago

OCL_Tank_OverlordGattlingCannon

Originally Posted by: Annihilationzh 



That needs to be defined in ObjectCreationList.ini. Have you done that?



Oh, that did the trick.

I know that the correct object was generated due to the bunkergattling being drawn on the model, the contain still doesn't work however.
Annihilationzh
5 years ago

I know that the correct object was generated due to the bunkergattling being drawn on the model, the contain still doesn't work however.


I'm thinking this has something to do with it:

The contain now works (there's no button to move the infantry out but I'd need to edit the command inis for that; doesn't show the "pips" for the amount of inf in it, but it's not a huge issue), but the gattling cannon is completely gone - no model, no shooting.


This is not normal and it shouldn't be happening.

Have you been editing the overlord's OverlordContain module?
If you need help, post in the forum. You'll get help a lot faster than if you send me a PM.

I reject all buddy requests. I don't think 'buddy' needs to be made official. It's not like you're marrying me.
haggis
  • haggis
  • 50.25% (Neutral)
  • Private
5 years ago
Correction: the contain works. It's just the InitialPayload part that doesn't work, probably because this is an object and not an unit?

In my previous testing where the pips didn't show, the contain didn't work, I just thought it was tankhunters shooting when it was actually the other secondary weapon I was messing around with that shot the rockets.
Annihilationzh
5 years ago
See the avenger's OverlordContain. It starts with its portable structure.
If you need help, post in the forum. You'll get help a lot faster than if you send me a PM.

I reject all buddy requests. I don't think 'buddy' needs to be made official. It's not like you're marrying me.
haggis
  • haggis
  • 50.25% (Neutral)
  • Private
5 years ago
I added that line and commented out ObjectCreationUpgrade, somehow it doesn't work:


Behavior = OverlordContain ModuleTag_06 ; Like Transport, but when full, passes transport queries along to first passenger (redirects like tunnel)
Slots = 1
DamagePercentToUnits = 100%
AllowInsideKindOf = PORTABLE_STRUCTURE
PassengersAllowedToFire = Yes
PassengersInTurret = Yes ; My passengers ride in my turret, that's where the Firepoint bones are
PayloadTemplateName = Tank_OverlordGattlingCannon
ExperienceSinkForRider = Yes ; I get the Exp for things my turret friend kills
End



EDIT oh wait the name is wrong, brb testing again...

EDIT 2

With the correct name it works (tank spawns with the gattlingbunker), but the InitialPayload part still doesn't work.

Also, somewhat related question: is it possible to have a mix of different unit types in InitialPayload, generally speaking?

Another somewhat related question: are overlordcontain and (regular) contain behaviors the only ways to bypass the weaponset limit of 3 weapons per unit?
Annihilationzh
5 years ago

With the correct name it works (tank spawns with the gattlingbunker), but the InitialPayload part still doesn't work.


Is the InitialPayload on the overlord or on the bunker? Personally, I'd try it on the bunker.

Also, somewhat related question: is it possible to have a mix of different unit types in InitialPayload, generally speaking?


Not directly. But you can get it done via OCLs.

ObjectCreationList OCL_BunkerTroops
  CreateObject
    ObjectNames       = AmericaInfantryRanger
    Count             = 1
    ContainInsideSourceObject = Yes
  End
  CreateObject
    ObjectNames       = Infa_ChinaInfantryMiniGunner
    Count             = 4
    ContainInsideSourceObject = Yes
  End
End

You can then use ObjectCreationUpgrade to spawn the OCL. And if you don't want it to require an upgrade then you can give them the upgrade for free (see Dr Thrax's Command Center - he gets anthrax beta for free).

Another somewhat related question: are overlordcontain and (regular) contain behaviors the only ways to bypass the weaponset limit of 3 weapons per unit?


Yes AFAIK - unless you count things like drones.
If you need help, post in the forum. You'll get help a lot faster than if you send me a PM.

I reject all buddy requests. I don't think 'buddy' needs to be made official. It's not like you're marrying me.
haggis
  • haggis
  • 50.25% (Neutral)
  • Private
5 years ago

Is the InitialPayload on the overlord or on the bunker? Personally, I'd try it on the bunker.

Originally Posted by: Annihilationzh 



It's on the bunker yeah.

Not directly. But you can get it done via OCLs.



I'd still like to find a way to make InitialPayload work for the above issue, but if it can't happen, I can use OCLs to populate the bunker correct? Either initially or thru an upgrade button?