Skip to content

Commit

Permalink
Fix: SCUD Storm Hole Worker spawns after 30 seconds instead of 20 sec…
Browse files Browse the repository at this point in the history
…onds (#1096)
  • Loading branch information
xezon committed Sep 20, 2022
1 parent 9095f67 commit c9a6ab6
Show file tree
Hide file tree
Showing 6 changed files with 265 additions and 6 deletions.
69 changes: 68 additions & 1 deletion Patch104pZH/GameFilesEdited/Data/INI/Object/FactionBuilding.ini
Original file line number Diff line number Diff line change
Expand Up @@ -13556,8 +13556,14 @@ Object GLAScudStorm

End

; Patch104p @bugfix xezon 04/09/2022 Fix poor Worker dies of poison first time trying to rebuild.
; Hole objects must always be defined before any object that would require it.
;------------------------------------------------------------------------------
ObjectReskin GLAHoleScudStorm GLAHole
Object GLAHoleScudStorm

; *** ART Parameters ***
SelectPortrait = SUHole_L
ButtonImage = SUHole_L
Draw = W3DModelDraw ModuleTag_01
OkToChangeModelColor = Yes
ConditionState = NONE
Expand Down Expand Up @@ -13590,9 +13596,70 @@ ObjectReskin GLAHoleScudStorm GLAHole
; End
; End

PlacementViewAngle = -135

; ***DESIGN parameters ***
DisplayName = OBJECT:GLAHole
Side = GLA
EditorSorting = SYSTEM

Prerequisites
Object = GLACommandCenter
End

BuildCost = 100
BuildTime = 10.0 ; in seconds
EnergyProduction = 0
VisionRange = 50.0 ; Shroud clearing distance
ShroudClearingRange = 50

ArmorSet
Conditions = None
Armor = StructureArmor
DamageFX = StructureDamageFXNoShake
End

MaxSimultaneousOfType = DeterminedBySuperweaponRestriction ; Normally unlimited, but can be selected by players in multiplayer games
MaxSimultaneousLinkKey = Superweapon ; Count all superweapons **AND THE GLA SCUD STORM REBUILD HOLE** as one "type" for MaxSimultaneousOfType

; *** AUDIO Parameters ***
VoiceSelect = TunnelNetworkSelect
SoundOnDamaged = BuildingDamagedStateLight
SoundOnReallyDamaged = BuildingDestroy

UnitSpecificSounds
UnderConstruction = UnderConstructionLoop
End

; *** ENGINEERING Parameters ***
RadarPriority = STRUCTURE
KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE REBUILD_HOLE CAN_SEE_THROUGH_STRUCTURE IMMUNE_TO_CAPTURE SCORE_DESTROY MP_COUNT_FOR_VICTORY
Body = StructureBody ModuleTag_03
; To set the health for a particular hole, edit the entry in the object
; that will leave the hole behind (edit the RebuildHoleExposeDie entry)
MaxHealth = 9999999.9 ;bigger than anything realistic we use
InitialHealth = 9999999.9 ;bigger than anything realistic we use
End
Behavior = RebuildHoleBehavior ModuleTag_04
WorkerObjectName = GLAInfantryWorker
WorkerRespawnDelay = 30000
HoleHealthRegen%PerSecond = 0.5% ;regen this % of HoleMaxHealth per second
End

Behavior = CreateObjectDie ModuleTag_13
CreationList = OCL_LargeStructureDebris
End
Behavior = FXListDie ModuleTag_14
DeathFX = FX_StructureSmallDeath
End

Geometry = CYLINDER
GeometryMajorRadius = 25.0
GeometryHeight = 5.0
GeometryIsSmall = No
Shadow = SHADOW_VOLUME
BuildCompletion = PLACED_BY_PLAYER

End

;------------------------------------------------------------------------------
Expand Down
55 changes: 55 additions & 0 deletions Patch104pZH/GameFilesEdited/Data/INI/Object/GC_Chem_GLASystem.ini
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,61 @@ Object GC_Chem_PoisonFieldGammaMedium

End

; Patch104p @bugfix xezon 04/09/2022 Creates GC_Chem_PoisonFieldGammaMedium optimized for Scud Storms
;------------------------------------------------------------------------------
Object GC_Chem_PoisonFieldGammaMedium_ScudStorm

; *** ART Parameters ***
Draw = W3DModelDraw ModuleTag_01
DefaultConditionState
Model = NONE
End
End

; ***DESIGN parameters ***
EditorSorting = SYSTEM
KindOf = IMMOBILE CLEANUP_HAZARD STICK_TO_TERRAIN_SLOPE INERT NO_COLLIDE
ArmorSet
Conditions = None
Armor = HazardousMaterialArmor
End

; ***AUDIO parameters ***
SoundAmbient = AnthraxPoolAmbientLoop


; *** ENGINEERING Parameters ***
Body = ActiveBody ModuleTag_02
MaxHealth = 120.0
InitialHealth = 120.0
End
Behavior = FireWeaponUpdate ModuleTag_03
Weapon = Chem_MediumPoisonFieldWeaponGamma
End

Behavior = LifetimeUpdate ModuleTag_04
MinLifetime = 26000
MaxLifetime = 26000
End

Behavior = FireWeaponUpdate ModuleTag_05
Weapon = HazardFieldCoreWeapon ; Prevents stacking of fields with a small blast of cleaning at the core at startup
End

Behavior = DestroyDie ModuleTag_06
End

Behavior = FXListDie ModuleTag_07
DeathFX = FX_AnthraxPoolDie
End

Geometry = CYLINDER
GeometryMajorRadius = 40.0
GeometryHeight = 1.0
GeometryIsSmall = No

End

;------------------------------------------------------------------------------
Object GC_Chem_PoisonFieldGammaSmall

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8599,7 +8599,7 @@ Object GC_Slth_GLAScudStorm
SubdualDamageHealAmount = 100
End
Behavior = RebuildHoleExposeDie ModuleTag_08
HoleName = GC_Slth_GLAHoleScudStorm
HoleName = GLAHoleScudStorm ; Patch104p @bugfix xezon 04/09/2022 Fix Worker dies from poison on first try.
HoleMaxHealth = 500.0
End

Expand Down
112 changes: 112 additions & 0 deletions Patch104pZH/GameFilesEdited/Data/INI/Object/System.ini
Original file line number Diff line number Diff line change
Expand Up @@ -1877,6 +1877,63 @@ Object PoisonFieldMedium

End

; Patch104p @bugfix xezon 04/09/2022 Creates PoisonFieldMedium optimized for Scud Storms
;------------------------------------------------------------------------------
Object PoisonFieldMedium_ScudStorm

; *** ART Parameters ***
Draw = W3DModelDraw ModuleTag_01
DefaultConditionState
Model = NONE
End
End

; ***DESIGN parameters ***
EditorSorting = SYSTEM
KindOf = IMMOBILE CLEANUP_HAZARD STICK_TO_TERRAIN_SLOPE INERT NO_COLLIDE

; ***AUDIO parameters ***
SoundAmbient = ToxicPoolAmbientLoop

; *** ENGINEERING Parameters ***
ArmorSet
Conditions = None
Armor = HazardousMaterialArmor
End

; *** ENGINEERING Parameters ***
Body = ActiveBody ModuleTag_02
MaxHealth = 100.0
InitialHealth = 100.0
End

Behavior = FireWeaponUpdate ModuleTag_03
Weapon = MediumPoisonFieldWeapon
End

Behavior = LifetimeUpdate ModuleTag_04
MinLifetime = 26000
MaxLifetime = 26000
End

Behavior = FireWeaponUpdate ModuleTag_05
Weapon = HazardFieldCoreWeapon ; Prevents stacking of fields with a small blast of cleaning at the core at startup
End

Behavior = DestroyDie ModuleTag_06
End

Behavior = FXListDie ModuleTag_07
DeathFX = FX_ToxicPoolDie
End

Geometry = CYLINDER
GeometryMajorRadius = 40.0
GeometryHeight = 1.0
GeometryIsSmall = No

End

;------------------------------------------------------------------------------
Object PoisonFieldSmall

Expand Down Expand Up @@ -2039,6 +2096,61 @@ Object PoisonFieldUpgradedMedium

End

; Patch104p @bugfix xezon 04/09/2022 Creates PoisonFieldMedium optimized for Scud Storms
;------------------------------------------------------------------------------
Object PoisonFieldUpgradedMedium_ScudStorm

; *** ART Parameters ***
Draw = W3DModelDraw ModuleTag_01
DefaultConditionState
Model = NONE
End
End

; ***DESIGN parameters ***
EditorSorting = SYSTEM
KindOf = IMMOBILE CLEANUP_HAZARD STICK_TO_TERRAIN_SLOPE INERT NO_COLLIDE
ArmorSet
Conditions = None
Armor = HazardousMaterialArmor
End

; ***AUDIO parameters ***
SoundAmbient = AnthraxPoolAmbientLoop


; *** ENGINEERING Parameters ***
Body = ActiveBody ModuleTag_02
MaxHealth = 120.0
InitialHealth = 120.0
End
Behavior = FireWeaponUpdate ModuleTag_03
Weapon = MediumPoisonFieldWeaponUpgraded
End

Behavior = LifetimeUpdate ModuleTag_04
MinLifetime = 26000
MaxLifetime = 26000
End

Behavior = FireWeaponUpdate ModuleTag_05
Weapon = HazardFieldCoreWeapon ; Prevents stacking of fields with a small blast of cleaning at the core at startup
End

Behavior = DestroyDie ModuleTag_06
End

Behavior = FXListDie ModuleTag_07
DeathFX = FX_AnthraxPoolDie
End

Geometry = CYLINDER
GeometryMajorRadius = 40.0
GeometryHeight = 1.0
GeometryIsSmall = No

End

;------------------------------------------------------------------------------
Object PoisonFieldUpgradedSmall

Expand Down
27 changes: 26 additions & 1 deletion Patch104pZH/GameFilesEdited/Data/INI/ObjectCreationList.ini
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,15 @@ ObjectCreationList OCL_PoisonFieldSmall
End
End

; Patch104p @bugfix xezon 04/09/2022 Creates PoisonFieldMedium optimized for Scud Storms
; ----------------------------------------------
ObjectCreationList OCL_PoisonFieldMedium_ScudStorm
CreateObject
ObjectNames = PoisonFieldMedium_ScudStorm
Disposition = ON_GROUND_ALIGNED
End
End

; Patch104p @bugfix commy2 31/07/2022 Creates green Anthrax Bomb poison cloud.
; ----------------------------------------------
ObjectCreationList OCL_PoisonFieldAnthraxBomb
Expand Down Expand Up @@ -126,6 +135,15 @@ ObjectCreationList OCL_PoisonFieldUpgradedSmall
End
End

; Patch104p @bugfix xezon 04/09/2022 Creates PoisonFieldUpgradedMedium optimized for Scud Storms
; ----------------------------------------------
ObjectCreationList OCL_PoisonFieldUpgradedMedium_ScudStorm
CreateObject
ObjectNames = PoisonFieldUpgradedMedium_ScudStorm
Disposition = ON_GROUND_ALIGNED
End
End

; ----------------------------------------------

ObjectCreationList OCL_RadiationFieldLarge
Expand Down Expand Up @@ -8367,7 +8385,14 @@ ObjectCreationList OCL_PoisonFieldGammaSmall
End
End


; Patch104p @bugfix xezon 04/09/2022 Creates GC_Chem_PoisonFieldGammaMedium optimized for Scud Storms
; ----------------------------------------------
ObjectCreationList OCL_PoisonFieldGammaMedium_ScudStorm
CreateObject
ObjectNames = GC_Chem_PoisonFieldGammaMedium_ScudStorm
Disposition = ON_GROUND_ALIGNED
End
End


;---------------------------------------------------------------------------------------
Expand Down
6 changes: 3 additions & 3 deletions Patch104pZH/GameFilesEdited/Data/INI/Weapon.ini
Original file line number Diff line number Diff line change
Expand Up @@ -8759,7 +8759,7 @@ Weapon ScudStormDeathWeapon
WeaponSpeed = 99999.0
ProjectileObject = NONE
FireFX = WeaponFX_HighExplosiveBioBombDetonation
FireOCL = OCL_PoisonFieldMedium
FireOCL = OCL_PoisonFieldMedium_ScudStorm
RadiusDamageAffects = ALLIES ENEMIES NEUTRALS
DelayBetweenShots = 0 ; time between shots, msec
ClipSize = 1 ; how many shots in a Clip (0 == infinite)
Expand All @@ -8779,7 +8779,7 @@ Weapon ScudStormDeathWeaponBeta
WeaponSpeed = 99999.0
ProjectileObject = NONE
FireFX = WeaponFX_HighExplosiveAnthraxBombDetonation
FireOCL = OCL_PoisonFieldUpgradedMedium
FireOCL = OCL_PoisonFieldUpgradedMedium_ScudStorm
RadiusDamageAffects = ALLIES ENEMIES NEUTRALS
DelayBetweenShots = 0 ; time between shots, msec
ClipSize = 1 ; how many shots in a Clip (0 == infinite)
Expand All @@ -8799,7 +8799,7 @@ Weapon Chem_ScudStormDeathWeaponGamma
WeaponSpeed = 99999.0
ProjectileObject = NONE
FireFX = Chem_WeaponFX_HighExplosiveGammaBombDetonation
FireOCL = OCL_PoisonFieldGammaMedium
FireOCL = OCL_PoisonFieldGammaMedium_ScudStorm
RadiusDamageAffects = ALLIES ENEMIES NEUTRALS
DelayBetweenShots = 0 ; time between shots, msec
ClipSize = 1 ; how many shots in a Clip (0 == infinite)
Expand Down

0 comments on commit c9a6ab6

Please sign in to comment.