I give up. I'm just going to post the code, it's far less time consuming.
In specialpower.ini I replaced the existing daisycutter and moab with these:
;-----------------------------------------------------------------------------
SpecialPower SuperweaponDaisyCutter
Enum = SPECIAL_DAISY_CUTTER
ReloadTime = 360000 ; in milliseconds
RequiredScience = SCIENCE_DaisyCutter
PublicTimer = No
SharedSyncedTimer = Yes
ViewObjectDuration = 30000 ; Lifetime of a Look done belonging to the firing player
ViewObjectRange = 250 ; And how far it can see
RadiusCursorRadius = 170 ; shared by MOAB
ShortcutPower = Yes ;Capable of being fired by the side-bar shortcut.
AcademyClassify = ACT_SUPERPOWER ;Considered a powerful special power that a player could fire. Not for simpler unit based powers.
End
;-----------------------------------------------------------------------------
SpecialPower SuperweaponMOAB
Enum = SPECIAL_DAISY_CUTTER ;Stays as daisy cutter, because this is really an upgrade to the original...
ReloadTime = 360000 ; in milliseconds
RequiredScience = SCIENCE_MOAB
PublicTimer = No
SharedSyncedTimer = Yes
ViewObjectDuration = 30000 ; Lifetime of a Look done belonging to the firing player
ViewObjectRange = 250 ; And how far it can see
RadiusCursorRadius = 170
ShortcutPower = Yes ;Capable of being fired by the side-bar shortcut.
AcademyClassify = ACT_SUPERPOWER ;Considered a powerful special power that a player could fire. Not for simpler unit based powers.
End
In factionbuilding.ini, I went to the command center and changed the following:
Behavior = OCLSpecialPower ModuleTag_20
SpecialPowerTemplate = SuperweaponDaisyCutter
UpgradeOCL = SCIENCE_MOAB SUPERWEAPON_MOAB
OCL = SUPERWEAPON_DaisyCutter
CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE
End
Into:
Behavior = OCLSpecialPower ModuleTag_20
SpecialPowerTemplate = SuperweaponDaisyCutter
OCL = SUPERWEAPON_DaisyCutter
CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE
End
Behavior = OCLSpecialPower ModuleTag_MOAB
SpecialPowerTemplate = SuperweaponMOAB
OCL = SUPERWEAPON_MOAB
CreateLocation = CREATE_AT_EDGE_NEAR_SOURCE
End
In CommandButton.ini, I placed the following at the bottom of the file:
CommandButton Command_MOAB
Command = SPECIAL_POWER
SpecialPower = SuperweaponMOAB
Options = NEED_SPECIAL_POWER_SCIENCE NEED_TARGET_POS CONTEXTMODE_COMMAND
Science = SCIENCE_MOAB
TextLabel = CONTROLBAR:UpgradeAmericaMOAB
ButtonImage = SAMOAB
DescriptLabel = CONTROLBAR:TooltipUSAUpgradeMOAB
RadiusCursorType = DAISYCUTTER
InvalidCursorName = GenericInvalid
End
CommandButton Command_MOABFromShortcut
Command = SPECIAL_POWER_FROM_SHORTCUT
SpecialPower = SuperweaponMOAB
Options = NEED_SPECIAL_POWER_SCIENCE NEED_TARGET_POS CONTEXTMODE_COMMAND
Science = SCIENCE_MOAB
TextLabel = CONTROLBAR:UpgradeAmericaMOAB
ButtonImage = SAMOAB
DescriptLabel = CONTROLBAR:TooltipUSAUpgradeMOAB
RadiusCursorType = DAISYCUTTER
InvalidCursorName = GenericInvalid
End
Then I edited:
CommandButton Command_FAKECOMMAND_PurchaseScienceMOAB
Command = PURCHASE_SCIENCE
Options = SCRIPT_ONLY ;Hide it so we can't purchase it in the interface.
Science = SCIENCE_MOAB
ButtonImage = SAMOAB ;Copy this image when DaisyCutter has MOAB science.
TextLabel = CONTROLBAR:MOAB ;Used for controlbar button (with hotkey)
ConflictingLabel = OBJECT:MOAB ;Used for shortcut button (no hotkey)
DescriptLabel = CONTROLBAR:TooltipMOAB ;Copy this text when DaisyCutter has MOAB science.
End
into:
CommandButton Command_FAKECOMMAND_PurchaseScienceMOAB
Command = PURCHASE_SCIENCE
Science = SCIENCE_MOAB
ButtonImage = SAMOAB
ButtonBorderType = ACTION
TextLabel = CONTROLBAR:MOAB
ConflictingLabel = OBJECT:MOAB
DescriptLabel = CONTROLBAR:TooltipMOAB
End
In Science.ini:
This:
Science SCIENCE_MOAB
PrerequisiteSciences = SCIENCE_AMERICA
SciencePurchasePointCost = 0; note that this means "not purchasable", NOT "free"!
IsGrantable = Yes
End
Became:
Science SCIENCE_MOAB
PrerequisiteSciences = SCIENCE_AMERICA SCIENCE_Rank5
SciencePurchasePointCost = 1
IsGrantable = Yes
DisplayName = CONTROLBAR:UpgradeAmericaMOAB
Description = CONTROLBAR:TooltipMOAB
End
In CommandSet.ini:
CommandSet SpecialPowerShortcutUSA
1 = Command_SpyDroneFromShortcut
2 = Command_ParadropFromShortcut
3 = Command_A10ThunderboltMissileStrikeFromShortcut
4 = Command_EmergencyRepairFromShortcut
5 = Command_DaisyCutterFromShortcut
6 = Command_FireParticleUplinkCannonFromShortcut
7 = Command_SpySatelliteScanFromShortcut
8 = Command_CIAIntelligenceFromShortcut
9 = Command_SpectreGunshipFromShortcut
10 = Command_LeafletDropFromShortcut
END
Became:
CommandSet SpecialPowerShortcutUSA
1 = Command_SpyDroneFromShortcut
2 = Command_ParadropFromShortcut
3 = Command_A10ThunderboltMissileStrikeFromShortcut
4 = Command_EmergencyRepairFromShortcut
5 = Command_DaisyCutterFromShortcut
6 = Command_FireParticleUplinkCannonFromShortcut
7 = Command_SpySatelliteScanFromShortcut
8 = Command_CIAIntelligenceFromShortcut
9 = Command_SpectreGunshipFromShortcut
10 = Command_MOABFromShortcut
END
And I added button 11 here:
CommandSet AmericaCommandCenterCommandSet
1 = Command_ConstructAmericaDozer
2 = Command_SpectreGunship
4 = Command_LeafletDrop
5 = Command_A10ThunderboltMissileStrike
6 = Command_Paradrop
7 = Command_SpyDrone
8 = Command_EmergencyRepair
9 = Command_DaisyCutter
10 = Command_SpySatelliteScan
11 = Command_MOAB ;<--- this one
13 = Command_SetRallyPoint
14 = Command_Sell
End
And:
CommandSet SCIENCE_AMERICA_CommandSetRank8
1 = Command_PurchaseScienceDaisyCutter
2 = Command_PurchaseScienceLeafletDrop
3 = Command_PurchaseScienceSpectreGunship
4 = Command_FAKECOMMAND_PurchaseScienceMOAB
END
This does not need to be changed, but I suspect you might have changed it, so to be safe, I'm including it.
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.