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.