OCLini
; -----------------------------------------------------------------------------
ObjectCreationList SUPERWEAPON_SpySatellite
CreateObject
ObjectNames = SpySatellitePing
Count = 1
End
End
; -----------------------------------------------------------------------------
; -----------------------------------------------------------------------------
ObjectCreationList SUPERWEAPON_SpySatellite1
CreateObject
ObjectNames = SpySatellitePing2
Count = 1
End
End
; -----------------------------------------------------------------------------
; -----------------------------------------------------------------------------
ObjectCreationList SUPERWEAPON_SpySatellite2
CreateObject
ObjectNames = SpySatellitePing2
Count = 1
End
End
; -----------------------------------------------------------------------------
SYSTEM ini
;------------------------------------------------------------------------------
Object SpySatellitePing
; ***DESIGN parameters ***
VisionRange = 250.0
EditorSorting = SYSTEM
KindOf = NO_COLLIDE IMMOBILE UNATTACKABLE INERT
; *** ENGINEERING Parameters ***
Body = ImmortalBody ModuleTag_01
MaxHealth = 1
InitialHealth = 1
End
Behavior = DynamicShroudClearingRangeUpdate ModuleTag_02
FinalVision = 0.0
ShrinkDelay = 10000
ShrinkTime = 5000
GrowDelay = 0
GrowTime = 1000
GrowInterval = 10 ; Faster than most
ChangeInterval = 80 ; Faster than most
GridDecalTemplate
Texture = EXGrid
Style = SHADOW_ADDITIVE_DECAL
OpacityMin = 50%
OpacityMax = 100%
OpacityThrobTime = 500
Color = R:32 G:64 B:128 A:0 //dim blue, additive
End
End
Behavior = DeletionUpdate ModuleTag_03 ; Not LifetimeUpdate, since I can't die. This will DestroyObject me.
MinLifetime = 13000 ; InitialDelay + TransitionTime for Vision Update
MaxLifetime = 13000
End
Behavior = StealthDetectorUpdate ModuleTag_04
DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec)
End
End
;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
Object SpySatellitePing1
; ***DESIGN parameters ***
VisionRange = 300.0
EditorSorting = SYSTEM
KindOf = NO_COLLIDE IMMOBILE UNATTACKABLE INERT
; *** ENGINEERING Parameters ***
Body = ImmortalBody ModuleTag_01
MaxHealth = 1
InitialHealth = 1
End
Behavior = DynamicShroudClearingRangeUpdate ModuleTag_02
FinalVision = 0.0
ShrinkDelay = 10000
ShrinkTime = 5000
GrowDelay = 0
GrowTime = 1000
GrowInterval = 10 ; Faster than most
ChangeInterval = 80 ; Faster than most
GridDecalTemplate
Texture = EXGrid
Style = SHADOW_ADDITIVE_DECAL
OpacityMin = 50%
OpacityMax = 100%
OpacityThrobTime = 500
Color = R:32 G:64 B:128 A:0 //dim blue, additive
End
End
Behavior = DeletionUpdate ModuleTag_03 ; Not LifetimeUpdate, since I can't die. This will DestroyObject me.
MinLifetime = 13000 ; InitialDelay + TransitionTime for Vision Update
MaxLifetime = 13000
End
Behavior = StealthDetectorUpdate ModuleTag_04
DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec)
End
End
;------------------------------------------------------------------------------
;------------------------------------------------------------------------------
Object SpySatellitePing2
; ***DESIGN parameters ***
VisionRange = 350.0
EditorSorting = SYSTEM
KindOf = NO_COLLIDE IMMOBILE UNATTACKABLE INERT
; *** ENGINEERING Parameters ***
Body = ImmortalBody ModuleTag_01
MaxHealth = 1
InitialHealth = 1
End
Behavior = DynamicShroudClearingRangeUpdate ModuleTag_02
FinalVision = 0.0
ShrinkDelay = 10000
ShrinkTime = 5000
GrowDelay = 0
GrowTime = 1000
GrowInterval = 10 ; Faster than most
ChangeInterval = 80 ; Faster than most
GridDecalTemplate
Texture = EXGrid
Style = SHADOW_ADDITIVE_DECAL
OpacityMin = 50%
OpacityMax = 100%
OpacityThrobTime = 500
Color = R:32 G:64 B:128 A:0 //dim blue, additive
End
End
Behavior = DeletionUpdate ModuleTag_03 ; Not LifetimeUpdate, since I can't die. This will DestroyObject me.
MinLifetime = 13000 ; InitialDelay + TransitionTime for Vision Update
MaxLifetime = 13000
End
Behavior = StealthDetectorUpdate ModuleTag_04
DetectionRate = 500 ; how often to rescan for stealthed things in my sight (msec)
End
End
;------------------------------------------------------------------------------
;-----------------------------------------------------------------------------
SpecialPower SpecialPowerSpySatellite
Enum = SPECIAL_SPY_SATELLITE
ReloadTime = 60000 ; in milliseconds
PublicTimer = No
RadiusCursorRadius = 250 ; align with system.ini's SpySatellitePing's ShroudClearingRange
InitiateAtLocationSound = SpySatellite
SharedSyncedTimer = Yes
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 SpecialPowerSpySatellite1
Enum = SPECIAL_SPY_SATELLITE
ReloadTime = 30000 ; in milliseconds
PublicTimer = No
RadiusCursorRadius = 300 ; align with system.ini's SpySatellitePing's ShroudClearingRange
InitiateAtLocationSound = SpySatellite
SharedSyncedTimer = Yes
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 SpecialPowerSpySatellite2
Enum = SPECIAL_SPY_SATELLITE
ReloadTime = 0 ; in milliseconds
PublicTimer = No
RadiusCursorRadius = 350 ; align with system.ini's SpySatellitePing's ShroudClearingRange
InitiateAtLocationSound = SpySatellite
SharedSyncedTimer = Yes
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
;-----------------------------------------------------------------------------
CommandButton Command_SpySatelliteScan
Command = SPECIAL_POWER
SpecialPower = SpecialPowerSpySatellite
Options = NEED_SPECIAL_POWER_SCIENCE NEED_TARGET_POS CONTEXTMODE_COMMAND
TextLabel = CONTROLBAR:SpySatellite
ButtonImage = SSSpySat
ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:TooltipFireSpySatScan
RadiusCursorType = SPYSATELLITE
InvalidCursorName = GenericInvalid
End
CommandButton Command_SpySatelliteScanFromShortcut
Command = SPECIAL_POWER_FROM_SHORTCUT
SpecialPower = SpecialPowerSpySatellite
Options = NEED_SPECIAL_POWER_SCIENCE NEED_TARGET_POS CONTEXTMODE_COMMAND
TextLabel = CONTROLBAR:NoHotKeySpySatellite
ButtonImage = SSSpySat
;ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:TooltipFireSpySatScan
RadiusCursorType = SPYSATELLITE
InvalidCursorName = GenericInvalid
End
CommandButton Command_SpySatelliteScan1
Command = SPECIAL_POWER
SpecialPower = SpecialPowerSpySatellite1
Options = NEED_SPECIAL_POWER_SCIENCE NEED_TARGET_POS CONTEXTMODE_COMMAND
TextLabel = CONTROLBAR:SpySatellite
ButtonImage = SSSpySat
ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:TooltipFireSpySatScan
RadiusCursorType = SPYSATELLITE
InvalidCursorName = GenericInvalid
End
CommandButton Command_SpySatelliteScanFromShortcut1
Command = SPECIAL_POWER_FROM_SHORTCUT
SpecialPower = SpecialPowerSpySatellite1
Options = NEED_SPECIAL_POWER_SCIENCE NEED_TARGET_POS CONTEXTMODE_COMMAND
TextLabel = CONTROLBAR:NoHotKeySpySatellite
ButtonImage = SSSpySat
;ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:TooltipFireSpySatScan
RadiusCursorType = SPYSATELLITE
InvalidCursorName = GenericInvalid
End
CommandButton Command_SpySatelliteScan2
Command = SPECIAL_POWER
SpecialPower = SpecialPowerSpySatellite2
Options = NEED_SPECIAL_POWER_SCIENCE NEED_TARGET_POS CONTEXTMODE_COMMAND
TextLabel = CONTROLBAR:SpySatellite
ButtonImage = SSSpySat
ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:TooltipFireSpySatScan
RadiusCursorType = SPYSATELLITE
InvalidCursorName = GenericInvalid
End
CommandButton Command_SpySatelliteScanFromShortcut2
Command = SPECIAL_POWER_FROM_SHORTCUT
SpecialPower = SpecialPowerSpySatellite2
Options = NEED_SPECIAL_POWER_SCIENCE NEED_TARGET_POS CONTEXTMODE_COMMAND
TextLabel = CONTROLBAR:NoHotKeySpySatellite
ButtonImage = SSSpySat
;ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:TooltipFireSpySatScan
RadiusCursorType = SPYSATELLITE
InvalidCursorName = GenericInvalid
End
Now comes the hard part witch is a simple matter of doing commandsets for different situations :
not upgraded spysatelite + daisycutter not upgraded ( commandcenter and shortcut commandset sets )
spysat level 1 + daisy not upg
sp lvl2 + d not upg
sp + MOAB
sp1 + m
sp2 + m
thats the big part of commandsets
now u have to do an upgrade that eatch time u upgrade the commandsets changes ;like lvl 0 ( 1 = upgradesat1 2 = Command_SpySatelliteScan)
lvl 1 (1 =upgradespysat2 2 = level1 stascan ) ....
and know also add this to the building code for were the sat is accessed
Behavior = OCLSpecialPower ModuleTag_40
SpecialPowerTemplate = SpecialPowerSpySatellite1
OCL = SUPERWEAPON_SpySatellite1
CreateLocation = CREATE_AT_LOCATION
End
Behavior = OCLSpecialPower ModuleTag_41
SpecialPowerTemplate = SpecialPowerSpySatellite2
OCL = SUPERWEAPON_SpySatellite2
CreateLocation = CREATE_AT_LOCATION
End
Behavior = CommandSetUpgrade ModuleTag_36
CommandSet = AirF_AmericaCommandCenterCommandSetToMOAB
TriggeredBy = Upgrade_1
End
Behavior = CommandSetUpgrade ModuleTag_37
CommandSet = AirF_AmericaCommandCenterCommandSetToMOAB
TriggeredBy = Upgrade_2
End
all done and ready to go , may want to change the text and images of the buttons
