Posted by: Nick.B - Saturday, August 30, 2014 6:02:44 PM
Hi again,
I have this mod called Remix Escalation and unfortunately it is not completely finished and it still needs a lot of work done and only four generals work with AI. I have these upgrades called "escalation 1, 2, and 3", and I want to change their build time. I have changed their build time in the upgrades INI folder and I have also to experiment to deleting some of the code for it in Airforce General INI, but nothing has happend. Each general has these upgrades listed in there INI folders. Here is an example of Assault General:
[quote] Object Aslt_GeneralsPowerSelectorObject
SelectPortrait = SLGLAPowersSelector;
ButtonImage = SSGLAPowersSelector;
UpgradeCameo1 = Upgrade_Escalation1
UpgradeCameo2 = Upgrade_Escalation2
UpgradeCameo3 = Upgrade_Escalation3
; ***DESIGN parameters ***
DisplayName = OBJECT:Cash
Side = China
EditorSorting = SYSTEM
TransportSlotCount = 0
ArmorSet
Conditions = None
Armor = InvulnerableAllArmor
End
BuildCost = 5000
BuildTime = 4
Prerequisites
End
ExperienceValue = 0 0 0 0
IsTrainable = No
CommandSet = Aslt_GeneralsPowerSelector
; *** ENGINEERING Parameters ***
KindOf = PRELOAD CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI IMMUNE_TO_CAPTURE NO_COLLIDE
Body = ImmortalBody ModuleTag_01
MaxHealth = 1
InitialHealth = 1
End
Behavior = AIUpdateInterface ModuleTag_04
AutoAcquireEnemiesWhenIdle = No
End
Behavior = DestroyDie ModuleTag_03
DeathTypes = ALL
End
End
Object Aslt_PurchasedPowerSelectorObject
SelectPortrait = SLGLAPurchasedPowersSelector
ButtonImage = SSGLAPurchasedPowersSelector
UpgradeCameo1 = Upgrade_Escalation1
UpgradeCameo2 = Upgrade_Escalation2
UpgradeCameo3 = Upgrade_Escalation3
; ***DESIGN parameters ***
DisplayName = OBJECT:Cash
Side = China
EditorSorting = SYSTEM
TransportSlotCount = 0
ArmorSet
Conditions = None
Armor = InvulnerableAllArmor
End
BuildCost = 5000
BuildTime = 4
Prerequisites
End
ExperienceValue = 0 0 0 0
IsTrainable = No
CommandSet = Aslt_PurchasedPowerSelector
; *** ENGINEERING Parameters ***
KindOf = PRELOAD CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI IMMUNE_TO_CAPTURE NO_COLLIDE
Body = ImmortalBody ModuleTag_01
MaxHealth = 1
InitialHealth = 1
End
Behavior = AIUpdateInterface ModuleTag_04
AutoAcquireEnemiesWhenIdle = No
End
Behavior = DestroyDie ModuleTag_03
DeathTypes = ALL
End
End
Object Aslt_Escalation1_UpgradeObject
ButtonImage = SSEscalation1
; ***DESIGN parameters ***
DisplayName = UPGRADE:Escalation1
EditorSorting = VEHICLE
Side = GLAAssaultGeneral
TransportSlotCount = 0
ArmorSet
Conditions = None
Armor = InvulnerableAllArmor
End
UnitSpecificSounds
VoiceCreate = GLAUpgradeObjectVoiceCreate
End
BuildCost = 2000
BuildTime = 90
Prerequisites
Object = Aslt_GLAArmsDealer
Science = SCIENCE_ASLT
End
ExperienceValue = 0 0 0 0
IsTrainable = No
MaxSimultaneousOfType = 1
Behavior = GrantUpgradeCreate ModuleTag_0975
UpgradeToGrant = Upgrade_Escalation1
ExemptStatus = UNDER_CONSTRUCTION
End
Behavior = GrantScienceUpgrade ModuleTag_Science0111
GrantScience = SCIENCE_Escalation1
TriggeredBy = Upgrade_Escalation1
End
; *** ENGINEERING Parameters ***
KindOf = PRELOAD CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI IMMUNE_TO_CAPTURE NO_COLLIDE
Body = ImmortalBody ModuleTag_01
MaxHealth = 1
InitialHealth = 1
End
Behavior = AIUpdateInterface ModuleTag_04
AutoAcquireEnemiesWhenIdle = No
End
Behavior = DestroyDie ModuleTag_03
DeathTypes = ALL
End
End
Object Aslt_Escalation2_UpgradeObject
ButtonImage = SSEscalation2
; ***DESIGN parameters ***
DisplayName = UPGRADE:Escalation2
EditorSorting = VEHICLE
Side = GLAAssaultGeneral
TransportSlotCount = 0
ArmorSet
Conditions = None
Armor = InvulnerableAllArmor
End
UnitSpecificSounds
VoiceCreate = GLAUpgradeObjectVoiceCreate
End
BuildCost = 4000
BuildTime = 135
Prerequisites
Object = Aslt_GLAArmsDealer
Object = Aslt_GLAFaithfulCannonStage1 Aslt_GLAFaithfulCannon_Single
Object = Aslt_Escalation1_UpgradeObject
Science = SCIENCE_ASLT
End
ExperienceValue = 0 0 0 0
IsTrainable = No
MaxSimultaneousOfType = 1
Behavior = GrantUpgradeCreate ModuleTag_0975
UpgradeToGrant = Upgrade_Escalation2
ExemptStatus = UNDER_CONSTRUCTION
End
Behavior = GrantScienceUpgrade ModuleTag_Science0111
GrantScience = SCIENCE_Escalation2
TriggeredBy = Upgrade_Escalation2
End
; *** ENGINEERING Parameters ***
KindOf = PRELOAD CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI IMMUNE_TO_CAPTURE NO_COLLIDE
Body = ImmortalBody ModuleTag_01
MaxHealth = 1
InitialHealth = 1
End
Behavior = AIUpdateInterface ModuleTag_04
AutoAcquireEnemiesWhenIdle = No
End
Behavior = DestroyDie ModuleTag_03
DeathTypes = ALL
End
End
Object Aslt_Escalation3_UpgradeObject
ButtonImage = SSEscalation3
; ***DESIGN parameters ***
DisplayName = UPGRADE:Escalation3
EditorSorting = VEHICLE
Side = GLAAssaultGeneral
TransportSlotCount = 0
ArmorSet
Conditions = None
Armor = InvulnerableAllArmor
End
UnitSpecificSounds
VoiceCreate = GLAUpgradeObjectVoiceCreate
End
BuildCost = 8000
BuildTime = 202.5
Prerequisites
Object = Aslt_GLAArmsDealer
Object = Aslt_GLAFaithfulCannonStage2
Object = Aslt_Escalation2_UpgradeObject
Science = SCIENCE_ASLT
End
ExperienceValue = 0 0 0 0
IsTrainable = No
MaxSimultaneousOfType = 1
Behavior = GrantUpgradeCreate ModuleTag_0975
UpgradeToGrant = Upgrade_Escalation3
ExemptStatus = UNDER_CONSTRUCTION
End
Behavior = GrantScienceUpgrade ModuleTag_Science0111
GrantScience = SCIENCE_Escalation3
TriggeredBy = Upgrade_Escalation3
End
; *** ENGINEERING Parameters ***
KindOf = PRELOAD CAN_ATTACK CLICK_THROUGH IGNORED_IN_GUI IMMUNE_TO_CAPTURE NO_COLLIDE
Body = ImmortalBody ModuleTag_01
MaxHealth = 1
InitialHealth = 1
End
Behavior = AIUpdateInterface ModuleTag_04
AutoAcquireEnemiesWhenIdle = No
End
Behavior = DestroyDie ModuleTag_03
DeathTypes = ALL
End
End
;---------------------------------------------------------------------------
Object Aslt_GLAUnbuyable_Escalation3
; *** ART Parameters ***
EditorSorting = VEHICLE
Side = GLAAssaultGeneral
Prerequisites
Object = Aslt_Escalation3_UpgradeObject
Science = SCIENCE_ASLT
End
BuildCost = 0
BuildTime = 0
KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SCORE
End
;---------------------------------------------------------------------------
Object Aslt_GLAUnbuyable_Escalation2
; *** ART Parameters ***
EditorSorting = VEHICLE
Side = GLAAssaultGeneral
Prerequisites
Object = Aslt_Escalation2_UpgradeObject
Science = SCIENCE_ASLT
End
BuildCost = 0
BuildTime = 0
KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS SCORE
End
[/quote]
Now a lot of generals if not all of them have these codes like this, even though it shows the same upgrades in the upgrade.ini folder. I don't understand how these work.
Any ideas?
Posted by: CommieDog - Saturday, August 30, 2014 11:22:30 PM
Looks like some really complicated stuff. Are you sure that the button actually builds the upgrade you're looking at? It's possible that you're really building some sort of dummy object.
Posted by: Annihilationzh - Sunday, August 31, 2014 4:43:55 AM
The Aslt_Escalation3_UpgradeObject has this code:
[code]BuildCost = 8000
BuildTime = 202.5[/code]
It looks to me like this is the code you're looking for.
[quote=CommieDog;133524]Looks like some really complicated stuff. Are you sure that the button actually builds the upgrade you're looking at? It's possible that you're really building some sort of dummy object.[/quote]
Remix is a spin-off of Contra. Everything is masterfully written and carefully balanced. It makes Shockwave look like the work of newbies.
Posted by: Nick.B - Monday, September 1, 2014 7:37:34 PM
Escalation1_UpgradeObject
[quote]
BuildCost = 8000
BuildTime = 202.5[/quote]
Yes this can change the build time. I have done that already. Actually the question I was trying to ask was how can I change that without having to go into the all of the generals ini folder and do them individually. Or can I? Each general has those in it. It also shows it in the upgrade.ini folder, but when I change that, nothing happens. I just don't see why the creator of the mod originally did this. The files are just longer and it seems that there is more information in there that does not do anything. I have to say this is a cool mod though in the end.
I do agree that it is complicated. Since I am still a newbie at modding, this will take a while to understand how everything works.
Here is where the escalation upgrade's are found in the upgrade.ini folder:
[quote]Upgrade Upgrade_Escalation1
DisplayName = UPGRADE:Escalation1
BuildTime = 1
BuildCost = 1
ButtonImage = SSEscalation1
End
Upgrade Upgrade_Escalation2
DisplayName = UPGRADE:Escalation2
BuildTime = 1
BuildCost = 1
ButtonImage = SSEscalation2
End
Upgrade Upgrade_Escalation3
DisplayName = UPGRADE:Escalation3
BuildTime = 1
BuildCost = 1
ButtonImage = SSEscalation3
End
[/quote]
Posted by: CommieDog - Monday, September 1, 2014 9:09:42 PM
My guess (without spending a lot of time looking at the code) is that you have to change each one individually. Generals (unlike later incarnations of the Sage engine) doesn't support much of an object hierarchy so there was no way to define a parent object that would hold the common properties.
As for why someone in their right mind would code upgrades this way, I can only guess that they were trying to get around the hardcoded upgrade limit.
Posted by: Gameanater - Monday, September 1, 2014 9:14:13 PM
[quote=CommieDog;133563]
As for why someone in their right mind would code upgrades this way, I can only guess that they were trying to get around the hardcoded upgrade limit.[/quote]
Hope nobody minds me asking, but is there seriously an upgrade limit? Like only so many upgrades can exist before you can't start the game up or something? That sounds weird!
Posted by: CommieDog - Tuesday, September 2, 2014 12:11:41 AM
[quote=Gameanater;133565][quote=CommieDog;133563]
As for why someone in their right mind would code upgrades this way, I can only guess that they were trying to get around the hardcoded upgrade limit.[/quote]
Hope nobody minds me asking, but is there seriously an upgrade limit? Like only so many upgrades can exist before you can't start the game up or something? That sounds weird!
[/quote]
Yeah, there's a hardcoded upgrade limit. I think it's either 64 or 128, but try to go past it and the game crashes on startup.