Posted by: Jakato 10 Feb 2018, 13:36
I want to make the Leopard tank shells have an EMP effect when the Research Facility is built. Is there a unit that unlocks a kind of extra element (e.g. flames, cluster bombs, toxins) to it's attack when a certain structure is built? I want to inspect how it works to use it for the Leopard.
I can't work out how units know what battle plan (Hold the Line/Bombardment/Search and Destroy) is in effect in the Strategy Center. Is it hardcoded? I see there is some "message" for each battleplan but I can't find the contents. I know there is some unknown message triggered for each battle plan because of this line in the Strategy Center INI:
CODE
;Messages
BombardmentMessageLabel = MESSAGE:BattlePlanBombardmentInitiated
HoldTheLineMessageLabel = MESSAGE:BattlePlanHoldTheLineInitiated
SearchAndDestroyMessageLabel = MESSAGE:BattlePlanSearchAndDestroyInitiated
Posted by: Hanfield 10 Feb 2018, 14:03
No such thing for that type of module to be locked behind an object [building] instead of an upgrade.
Battleplans are defined in a module that is hardcoded to three variants; part of it can be found in GameData:
CODE
;Strategy centers provides bonuses based on the active battleplan!
WeaponBonus = BATTLEPLAN_BOMBARDMENT DAMAGE 120%
WeaponBonus = BATTLEPLAN_SEARCHANDDESTROY RANGE 120%
WeaponBonus = BATTLEPLAN_HOLDTHELINE RATE_OF_FIRE 100% ;Note this does nothing -- just for balancing reference.
And the other part can be found in the respective building that uses them:
CODE
Behavior = BattlePlanUpdate ModuleTag_14
SpecialPowerTemplate = SpecialAbilityChangeBattlePlans
;Transition Timings
BombardmentPlanAnimationTime = 3000
HoldTheLinePlanAnimationTime = 3000
SearchAndDestroyPlanAnimationTime = 3000
TransitionIdleTime = 0
;Messages
BombardmentMessageLabel = MESSAGE:BattlePlanBombardmentInitiated
HoldTheLineMessageLabel = MESSAGE:BattlePlanHoldTheLineInitiated
SearchAndDestroyMessageLabel = MESSAGE:BattlePlanSearchAndDestroyInitiated
;Audio hooks
BombardmentPlanUnpackSoundName = StrategyCenter_BombardmentPlanUnpackSound
BombardmentPlanPackSoundName = StrategyCenter_BombardmentPlanPackSound
BombardmentAnnouncementName = StrategyCenter_BombardmentPlanAnnouncement
SearchAndDestroyPlanUnpackSoundName = StrategyCenter_SearchAndDestroyPlanUnpack
SearchAndDestroyPlanIdleLoopSoundName = StrategyCenter_SearchAndDestroyPlanIdleLoop
SearchAndDestroyPlanPackSoundName = StrategyCenter_SearchAndDestroyPlanPack
SearchAndDestroyAnnouncementName = StrategyCenter_SearchAndDestroyAnnouncement
HoldTheLinePlanUnpackSoundName = StrategyCenter_HoldTheLinePlanUnpack
HoldTheLinePlanPackSoundName = StrategyCenter_HoldTheLinePlanPack
HoldTheLineAnnouncementName = StrategyCenter_HoldTheLineAnnouncement
;Army bonuses granted by different battle plans
ValidMemberKindOf = INFANTRY VEHICLE FS_BASE_DEFENSE ;Battle plans affect any kind of these...
InvalidMemberKindOf = DOZER AIRCRAFT DRONE BOAT UNATTACKABLE DEMOTRAP NO_COLLIDE MP_COUNT_FOR_VICTORY ;..but make sure they don't have any of these
BattlePlanChangeParalyzeTime = 5000 ;Subjected to paralyzation whenever a battle plan is changed.
HoldTheLinePlanArmorDamageScalar = 0.75 ;Armor damage bonus scalar -- LESS is better!
SearchAndDestroyPlanSightRangeScalar = 1.25 ;Sight range bonus -- more is better!
;***NOTE*** WEAPON bonuses for army are specified in GameData.ini file!
;Building bonuses granted based on battle plan mode.
StrategyCenterSearchAndDestroySightRangeScalar = 2.0
StrategyCenterSearchAndDestroyDetectsStealth = Yes
StrategyCenterHoldTheLineMaxHealthScalar = 2.0
StrategyCenterHoldTheLineMaxHealthChangeType = PRESERVE_RATIO
End
Posted by: Jakato 10 Feb 2018, 21:34
QUOTE (Hanfield @ 10 Feb 2018, 15:03)
No such thing for that type of module to be locked behind an object [building] instead of an upgrade.
I guess I'll have to find the energy to create a upgrade button. I'll reuse the logic that makes the Han Gunship's flamethrower change after using the Black Napalm upgrade.
QUOTE (Hanfield @ 10 Feb 2018, 15:03)
Battleplans are defined in a module that is hardcoded to three variants; part of it can be found in GameData:
Come to think of it I don't know what I'd do with the battle plans so it is fine those are hardcoded.