Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
Offline Adjiesman  
#1 Posted : Friday, October 1, 2021 12:34:43 PM(UTC)
Adjiesman
Private
Joined: 12/9/2020(UTC)
Posts: 24
Indonesia

Thanks: 3 times
Was thanked: 1 time(s) in 1 post(s)
Hi, I have finished my tank model and I want to make it have the teleport ability, is it possible to make this effect? If possible, can you tell me how?
Sponsor
Offline UTD^Force  
#2 Posted : Monday, November 1, 2021 5:56:47 AM(UTC)
UTD^Force
Colonel
C&C Labs Staff: Labs Staff MemberMaps Staff: Maps Staff Member
Joined: 8/13/2013(UTC)
Posts: 817
Jordan
Location: Middle east

Thanks: 430 times
Was thanked: 184 time(s) in 168 post(s)
This is a very interesting idea, I can't think of a way atm but what do you mean by teleport? Like teleport to a certain building/unit or randomly across the map? I kinda have an idea on how to do this but I'm not quite sure it will work, might try it later and reply here again.
Proud Muslim

UTD^Force

Moderator and former map reviewer
CnC Labs
Offline Adjiesman  
#3 Posted : Wednesday, November 3, 2021 2:57:40 PM(UTC)
Adjiesman
Private
Joined: 12/9/2020(UTC)
Posts: 24
Indonesia

Thanks: 3 times
Was thanked: 1 time(s) in 1 post(s)
Originally Posted by: utd^force Go to Quoted Post
This is a very interesting idea, I can't think of a way atm but what do you mean by teleport? Like teleport to a certain building/unit or randomly across the map? I kinda have an idea on how to do this but I'm not quite sure it will work, might try it later and reply here again.


Thanks for the reply, the teleport is randomly across the map. Is this possible?

Offline beng  
#4 Posted : Saturday, November 6, 2021 4:18:42 AM(UTC)
beng
Captain
Joined: 4/8/2009(UTC)
Posts: 57
Location: In a house

Thanks: 5 times
Was thanked: 5 time(s) in 3 post(s)
Originally Posted by: Adjiesman Go to Quoted Post
Hi, I have finished my tank model and I want to make it have the teleport ability, is it possible to make this effect? If possible, can you tell me how?


See the Lazer General's tardis in my mod (beng's lazer demo nuke mod) - it can teleport. Basically it uses an ocl special power to spawn a new instance of the same object type elsewhere on the map and the OCL at the same time fires a weapon that kills the original object. I use the EMP spehroid behaviours to make it looks interesting.

As for making it teleport randomly there is no easy way to do this. You can use something like the rebel ambush OCL to make it random within a certain non-random area, like how the rebels appear at random positions in the circle when you spawn them using rebel ambush, but there are limits to this.

Another way would be to use a random force OCL to throw a dummy invisible object across the map with a random force, and when it lands it dies and spawns the new teleported object, but it could land up in water or cliffs or outside the map border.

-beng
thanks 2 users thanked beng for this useful post.
UTD^Force on 11/7/2021(UTC), Adjiesman on 11/7/2021(UTC)
Offline UTD^Force  
#5 Posted : Sunday, November 7, 2021 12:26:06 PM(UTC)
UTD^Force
Colonel
C&C Labs Staff: Labs Staff MemberMaps Staff: Maps Staff Member
Joined: 8/13/2013(UTC)
Posts: 817
Jordan
Location: Middle east

Thanks: 430 times
Was thanked: 184 time(s) in 168 post(s)
It's great to see you again, beng.

What I had in mind was a weapon with very large speed that would also kill the unit as will as fire an invisible bullet at a targeted location which then "explodes" into the same unit that fired it.
Proud Muslim

UTD^Force

Moderator and former map reviewer
CnC Labs
thanks 1 user thanked UTD^Force for this useful post.
Adjiesman on 11/7/2021(UTC)
Offline Adjiesman  
#6 Posted : Sunday, November 7, 2021 2:31:53 PM(UTC)
Adjiesman
Private
Joined: 12/9/2020(UTC)
Posts: 24
Indonesia

Thanks: 3 times
Was thanked: 1 time(s) in 1 post(s)
Ok, i will try it. Thanks for the help Smile
Offline beng  
#7 Posted : Sunday, November 7, 2021 6:40:29 PM(UTC)
beng
Captain
Joined: 4/8/2009(UTC)
Posts: 57
Location: In a house

Thanks: 5 times
Was thanked: 5 time(s) in 3 post(s)
Originally Posted by: utd^force Go to Quoted Post
It's great to see you again, beng.

What I had in mind was a weapon with very large speed that would also kill the unit as will as fire an invisible bullet at a targeted location which then "explodes" into the same unit that fired it.


A weapon needs a target object or location so it would not be random.

Also, during the projectile flight time the original object would be dead before the new object is created so if the teleporting thing was the last unit, the game would end.

The suicide weapon should use an unused death type like EXTRA_5 and the object death modules should do a special death for that death type, so that it is different from other death types.
Offline UTD^Force  
#8 Posted : Sunday, November 7, 2021 8:32:37 PM(UTC)
UTD^Force
Colonel
C&C Labs Staff: Labs Staff MemberMaps Staff: Maps Staff Member
Joined: 8/13/2013(UTC)
Posts: 817
Jordan
Location: Middle east

Thanks: 430 times
Was thanked: 184 time(s) in 168 post(s)
Yeah, forgot the random part Big Smile Big Smile

Edit: Adjiesman, can you share your results with us, if possible?

Edited by user Sunday, November 7, 2021 8:33:22 PM(UTC)  | Reason: Not specified

Proud Muslim

UTD^Force

Moderator and former map reviewer
CnC Labs
Offline Adjiesman  
#9 Posted : Wednesday, November 10, 2021 12:30:36 PM(UTC)
Adjiesman
Private
Joined: 12/9/2020(UTC)
Posts: 24
Indonesia

Thanks: 3 times
Was thanked: 1 time(s) in 1 post(s)
I've done what you suggested, Beng. And it works, thanks. For the result here it is

Code:


In special power i make 2 special power

;-----------------------------------------------------------------------------
SpecialPower SpecialAbilityTeleport
  Enum                = SPECIAL_SNEAK_ATTACK
  ReloadTime          = 0
  PublicTimer         = No
  RadiusCursorRadius  = 60
  SharedSyncedTimer   = Yes
  AcademyClassify     = ACT_SUPERPOWER ;Considered a powerful special power that a player could fire. Not for simpler unit based powers.
End

;------------------------------------------------------------------------------
SpecialPower SpecialAbilityTeleportPortal
  Enum                = SPECIAL_SNEAK_ATTACK
  ReloadTime          = 200000   ; in milliseconds. min is 2x door/open close time!
  RequiredScience     = SCIENCE_Rank4
  PublicTimer         = No
  RadiusCursorRadius  = 60  ; align with ObjectCreationList.ini's DeliveryDecalRadius
  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 OCL

;-----------------------------------------------------------------------------
;This ability will make the FD Tank teleport it self to another land 
;except water.
ObjectCreationList SUPERWEAPON_Teleport
  CreateObject
    ObjectNames = FadingInFDTank ;TeleportBallEnd
    Disposition = ON_GROUND_ALIGNED
    Count = 1
    FadeIn = Yes
    FadeTime = 12027 ;length of sound
    DiesOnBadLand = No
    FadeSound = Cin_Psychfx01
  End
  FireWeapon
    Weapon = FDTankSuicideWeapon
  End
End

; ---------------------------------------------------------------------------------------
;called by the teleport ball end
ObjectCreationList OCL_FillyDelphiaWarpDriveTank
  CreateObject
    ObjectNames = EW_FillyDelphiaWarpDriveTank
    Disposition = LIKE_EXISTING ;ON_GROUND_ALIGNED
    Count = 1
  End
End

;-----------------------------------------------------------------------------
;The fading FD Tank makes this invisible one to hold FillyDelphiaWarpDriveTank till the new one is finished
ObjectCreationList OCL_InLimboFDTank
  CreateObject
    ObjectNames = InLimboFDTank
    Disposition = LIKE_EXISTING ;ON_GROUND_ALIGNED
    Count = 1
  End
End

;-----------------------------------------------------------------------------
;when the FD Tank suicides from the weapon in the OCL below
ObjectCreationList OCL_FDTank1 ;OCL_TeleportBallStart
  CreateObject
    ObjectNames = EW_FDTank1 ;EW_TeleportBallStart
    Disposition = LIKE_EXISTING ;ON_GROUND_ALIGNED
    Count = 1
  End
End

;------------------------------------------------------------------------------
; The second ability from FD Tank which can build a teleport portal
; to teleport other friendly units.
;------------------------------------------------------------------------------
ObjectCreationList OCL_SpecialAbilityTeleportPortal
  Attack
    WeaponSlot = SECONDARY
    NumberOfShots = 1
    DeliveryDecalRadius = 60 ; align with SpecialPower.ini's RadiusCursorRadius
    DeliveryDecal
      Texture           = SCCSpecret
      Style             = SHADOW_ALPHA_DECAL
      OpacityMin        = 25%
      OpacityMax        = 50%
      OpacityThrobTime  = 500
      Color             = R:33 G:67 B:255 A:255 
      OnlyVisibleToOwningPlayer = Yes
    End
  End
End

; -----------------------------------------------------------------------------
ObjectCreationList OCL_TeleportPortalStart
 CreateObject
   ObjectNames = TeleportPortalStart
   Disposition = LIKE_EXISTING
 End
End

;------------------------------------------------------------------------------
ObjectCreationList OCL_CreateTeleportPortal
  CreateObject
    ObjectNames = TeleportPortal
    Disposition = LIKE_EXISTING
  End
End




The weapon self


;-----------------------------------------------------------------------------;
;Fillydelphia Warp Drive Tank Weapons                                         ;
;-----------------------------------------------------------------------------;
;Teleport weapon only used for create a portal object from the gun            ;
;-----------------------------------------------------------------------------;

Weapon FDTankSuicideWeapon
  LeechRangeWeapon = Yes
  AttackRange = 0.0
  PrimaryDamage = 0.0
  PrimaryDamageRadius = 0.0
  DamageDealtAtSelfPosition = Yes   ; this is a suicide bomber... remember?
  RadiusDamageAffects = SELF SUICIDE
  DamageType = EXPLOSION
  DeathType         = EXTRA_5
  WeaponSpeed       = 99999.0
  DelayBetweenShots = 0
  ClipSize = 1
  ClipReloadTime = 0
  AutoReloadsClip = No
End

Weapon TeleportWeapon
  PrimaryDamage           = 1.0       ;Not used for this weapon (it's "special")        
  PrimaryDamageRadius     = 1.0       ;Not used for this weapon (it's "special")
  DamageType              = EXPLOSION
  DeathType               = EXPLODED
  AttackRange             = 100
  WeaponSpeed             = 600
  WeaponRecoil            = 1
  ProjectileObject        = WarpTankShell
  FireFX                  = WeaponFX_GenericTankGunNoTracer
  ProjectileDetonationFX  = WeaponFX_AntimatterDetonation
  ProjectileDetonationOCL = OCL_TeleportPortalStart
  FireSound               = WarpFireSound
  ClipSize                = 1     
End


And in object

;------------------------------------------------------------------------------
Object EW_FDTank1

  ; *** ART Parameters ***
  SelectPortrait         = SEWarp
  ButtonImage            = SEWarp
  
  Draw = W3DOverlordTankDraw ModuleTag_01
    OkToChangeModelColor = Yes
    AnimationsRequirePower  = Yes
    
    DefaultConditionState
      Model               = EVWarp
      Animation           = EVWarp.EVWarp
      AnimationMode       = LOOP
    End
    
    ConditionState        = REALLYDAMAGED
      Model               = EVWarp
      Animation           = EVWarp.EVWarp
      AnimationMode       = LOOP
    End
    
    ConditionState = RUBBLE
      Model = None
    End
  End
  
  Draw = W3DModelDraw ModuleTag_RDmodel
    DefaultConditionState
      Model = NONE
    End
    ConditionState = REALLYDAMAGED
      Model = EVWarp_D
    End
    ConditionState = RUBBLE
      Model = NONE
    End
  End
  Scale = 1.25
  
  
  ; ***DESIGN parameters ***
  DisplayName            = OBJECT:EW_FDTank
  Side                   = EquestriaExperimentalWeaponGeneral
  EditorSorting          = VEHICLE
  TransportSlotCount     = 5
  Buildable = No
  ArmorSet
    Conditions           = None
    Armor                = FDTankArmor
    DamageFX             = TankDamageFX
  End
  MaxSimultaneousOfType = 3
  MaxSimultaneousLinkKey = EW_FDTank ;Count the fading in/away versions too    
  VisionRange            = 150
  ShroudClearingRange    = 300
  EnergyProduction       = -1
  
  ; *** AUDIO Parameters ***
  VoiceSelect           = NoSound
  SoundOnDamaged        = NoSound
  SoundOnReallyDamaged  = NoSound
  UnitSpecificSounds
    ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
    VoiceEnter             = NoSound
    TurretMoveStart     = NoSound
    TurretMoveLoop      = NoSound
  End

  ; *** ENGINEERING Parameters ***
  RadarPriority          = UNIT
  KindOf                 = SELECTABLE CAN_SEE_THROUGH_STRUCTURE IMMOBILE UNATTACKABLE NO_COLLIDE
  Behavior = EMPUpdate ModuleTag_ShrinkTank
    DisabledDuration    = 8000
    Lifetime            = 10100
    StartFadeTime       = 500
    StartScale          = 1.25
    TargetScaleMin      = 0.1
    TargetScaleMax      = 0.1
    StartColor          = R:0 G:128 B:255
    EndColor            = R:255 G:128 B:0
    EffectRadius        = 80
    DisableFXParticleSystem = EMPSparks
    VictimForbiddenKindOf = AIRCRAFT
    DoesNotAffect       = ALLIES
    DoesNotAffectMyOwnBuildings = Yes
  End
  Body                   = ActiveBody ModuleTag_02
    MaxHealth       = 1000
    InitialHealth   = 1000

    ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
    ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
    SubdualDamageCap = 900
    SubdualDamageHealRate = 500
    SubdualDamageHealAmount = 50
  End

  Behavior = AIUpdateInterface ModuleTag_03
  End
  
  
  Behavior = PhysicsBehavior ModuleTag_04
    Mass                 = 500.0
  End
  
  Behavior = InstantDeathBehavior DeathModuleTag_04
    FX     = FX_FadingFDTankVanishes
    OCL    = OCL_InLimboFDTank
  End
  
  Behavior = LifetimeUpdate ModuleTag_05
    MinLifetime = 10000 ; min lifetime in msec
    MaxLifetime = 10000 ; max lifetime in msec
  End

  Behavior = StealthUpdate ModuleTag_Slth
    StealthDelay                = 0 ; msec
    StealthForbiddenConditions  = NONE
    FriendlyOpacityMin          = 5.0%
    FriendlyOpacityMax          = 30.0%
    PulseFrequency              = 2000 ; msec
    InnateStealth               = Yes
    OrderIdleEnemiesToAttackMeUponReveal  = No
  End
  
  Geometry               = BOX
  GeometryMajorRadius    = 15.0
  GeometryMinorRadius    = 10.0
  GeometryHeight         = 10.0     
  GeometryIsSmall        = Yes    
  Shadow = SHADOW_VOLUME
  ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length

End

;------------------------------------------------------------------------------
;invisible tanks to hold the tunnel contents between the FadingInTank death
;and the appearance of the new real tank

Object InLimboFDTank

  ; *** ART Parameters ***
  SelectPortrait  = SEWarp ;SSEvacButton ;SUTunnel_L
  ButtonImage     = SEWarp ;SSEvacButton ;SUTunnel


  Draw = W3DModelDraw ModuleTag_01
    DefaultConditionState
      Model         = EVWarp
      Animation           = EVWarp.EVWarp
      AnimationMode       = LOOP
      HideSubObject = KORPUS
    End
  End
  Scale = 0.1

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:EW_FDTank ;TunnelNetwork
  Side = EquestriaExperimentalWeaponGeneral
  EditorSorting    = VEHICLE
  Buildable = No

  MaxSimultaneousOfType = 3
  MaxSimultaneousLinkKey = EW_FDTank ;Count the fading in/away versions too

  EnergyProduction = -5
  VisionRange      = 200.0
  ShroudClearingRange = 300

  ArmorSet
    Conditions  = None
    Armor       = InvulnerableAllArmor
    DamageFX    = None
  End

  ; *** AUDIO Parameters ***

  ; *** ENGINEERING Parameters ***
  RadarPriority   = UNIT
  KindOf          = CAN_SEE_THROUGH_STRUCTURE IMMOBILE INERT UNATTACKABLE NO_COLLIDE NO_SELECT CLICK_THROUGH IGNORED_IN_GUI

  Body            = StructureBody ModuleTag_02
    MaxHealth       = 1000.0
    InitialHealth   = 1000.0
    SubdualDamageCap = 1000
    SubdualDamageHealRate = 500
    SubdualDamageHealAmount = 100
  End
  
  Behavior = InstantDeathBehavior DeathModuleTag_04
    ;FX     = FX_FadingFDTankVanishes
  End

  ;real one takes 12027 ms to appear after player triggers the teleport
  ;fading one makes this one at 10000ms
  ;so we make the limbo one last for 3 seconds to cover the transfer time

  Behavior = LifetimeUpdate ModuleTag_05
    MinLifetime = 3000 ; min lifetime in msec
    MaxLifetime = 3000 ; max lifetime in msec
  End

  Geometry               = BOX
  GeometryMajorRadius    = 15.0
  GeometryMinorRadius    = 10.0
  GeometryHeight         = 10.0     
  GeometryIsSmall        = Yes    
  Shadow = SHADOW_VOLUME
  ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length
End

;------------------------------------------------------------------------------

Object FadingInFDTank

  ; *** ART Parameters ***
  SelectPortrait  = SEWarp ;SSEvacButton ;SUTunnel_L
  ButtonImage     = SEWarp ;SSEvacButton ;SUTunnel

  UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
  UpgradeCameo2 = Upgrade_EquestriaTankArmor
  UpgradeCameo3 = SpW_Upgrade_EquestriaLaserDrone

  Draw = W3DModelDraw ModuleTag_01
    OkToChangeModelColor = Yes
    
    DefaultConditionState
      Model         = EVWarp
      Animation           = EVWarp.EVWarp
      AnimationMode       = LOOP
    End

    ConditionState = REALLYDAMAGED
      Model         = EVWarp
      Animation           = EVWarp.EVWarp
      AnimationMode       = LOOP
    End

    ConditionState = RUBBLE
      Model = None
    End

  End

  Draw = W3DModelDraw ModuleTag_RDmodel
    DefaultConditionState
      Model = NONE
    End
    ConditionState = REALLYDAMAGED
      Model = EVWarp_D
    End
    ConditionState = RUBBLE
      Model = NONE
    End
  End
  Scale = 1.25

  ; ***DESIGN parameters ***
  DisplayName      = OBJECT:EW_FDTank ;TunnelNetwork
  Side = EquestriaExperimentalWeaponGeneral
  EditorSorting    = VEHICLE
  Buildable = No

  MaxSimultaneousOfType = 3
  MaxSimultaneousLinkKey = EW_FDTank ;Count the fading in/away versions too

  EnergyProduction = -5
  VisionRange      = 200.0
  ShroudClearingRange = 300

  ArmorSet
    Conditions  = None
    Armor       = StructureArmor
    DamageFX    = None
  End

  ; *** AUDIO Parameters ***
  VoiceSelect           = NoSound
  SoundOnDamaged        = NoSound
  SoundOnReallyDamaged  = NoSound
  UnitSpecificSounds
    ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
    VoiceEnter             = NoSound
    TurretMoveStart     = NoSound
    TurretMoveLoop      = NoSound
  End

  ; *** ENGINEERING Parameters ***
  RadarPriority   = UNIT
  KindOf          = SELECTABLE CAN_SEE_THROUGH_STRUCTURE IMMOBILE NO_COLLIDE IMMUNE_TO_CAPTURE SCORE_DESTROY

  Behavior = EMPUpdate ModuleTag_Grow
    DisabledDuration    = 4000
    Lifetime            = 12040
    StartFadeTime       = 2500
    StartScale          = 0.01
    TargetScaleMin      = 1.25
    TargetScaleMax      = 1.30 ;oversize it a bit
    StartColor          = R:255 G:128 B:0
    EndColor            = R:0   G:128 B:255
    EffectRadius        = 80
    DisableFXParticleSystem = EMPSparks
    VictimForbiddenKindOf = AIRCRAFT
    DoesNotAffect       = ALLIES
    DoesNotAffectMyOwnBuildings = Yes
  End

  Body            = StructureBody ModuleTag_02
    MaxHealth       = 1000.0
    InitialHealth   = 1000.0
    SubdualDamageCap = 1000
    SubdualDamageHealRate = 500
    SubdualDamageHealAmount = 100
  End
  
  Behavior = CreateObjectDie ModuleTag_04
    CreationList  = OCL_FillyDelphiaWarpDriveTank
    TransferPreviousHealth = Yes
  End

  Behavior = InstantDeathBehavior DeathModuleTag_05
    FX     = FX_FadingInFDTankMaterialises
  End

  Behavior = LifetimeUpdate ModuleTag_06
    MinLifetime = 12027 ; min lifetime in msec
    MaxLifetime = 12027 ; max lifetime in msec
  End
  
  Behavior = StealthUpdate ModuleTag_Slth
    StealthDelay                = 0 ; msec
    StealthForbiddenConditions  = NONE
    FriendlyOpacityMin          = 5.0%
    FriendlyOpacityMax          = 30.0%
    PulseFrequency              = 2000 ; msec
    InnateStealth               = Yes
    OrderIdleEnemiesToAttackMeUponReveal  = No
  End
  
  Geometry               = BOX
  GeometryMajorRadius    = 15.0
  GeometryMinorRadius    = 10.0
  GeometryHeight         = 10.0     
  GeometryIsSmall        = Yes    
  Shadow = SHADOW_VOLUME
  ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length

End

;------------------------------------------------------------------------------
Object EW_FillyDelphiaWarpDriveTank

  ; *** ART Parameters ***
  SelectPortrait         = SEWarp
  ButtonImage            = SEWarp
   
   UpgradeCameo1 = Upgrade_AmericaAdvancedTraining
   UpgradeCameo2 = Upgrade_EquestriaTankArmor
   UpgradeCameo3 = SpW_Upgrade_EquestriaLaserDrone
  
  Draw = W3DOverlordTankDraw ModuleTag_01
    
    AnimationsRequirePower  = Yes
    
    DefaultConditionState
      Model               = EVWarp
      Animation           = EVWarp.EVWarp
      AnimationMode       = LOOP
      Turret              = Turret
      WeaponFireFXBone    = PRIMARY   TurretMS
      WeaponFireFXBone    = SECONDARY TurretMS
      WeaponRecoilBone    = PRIMARY   Barrel
      WeaponRecoilBone    = SECONDARY Barrel
      WeaponLaunchBone    = PRIMARY   TurretMS
      WeaponLaunchBone    = SECONDARY TurretMS
    End
    
    ConditionState        = REALLYDAMAGED RUBBLE
      Model               = EVWarp_D
      Animation           = EVWarp_D.EVWarp_D
      AnimationMode       = LOOP
      Turret              = Turret
      WeaponFireFXBone    = PRIMARY   TurretMS
      WeaponFireFXBone    = SECONDARY TurretMS
      WeaponRecoilBone    = PRIMARY   Barrel
      WeaponRecoilBone    = SECONDARY Barrel
      WeaponLaunchBone    = PRIMARY   TurretMS
      WeaponLaunchBone    = SECONDARY TurretMS
    End
    
    
    TrackMarks           = EXTnkTrack.tga
    TreadAnimationRate      = 2.0  ; amount of tread texture to move per second
    TreadDriveSpeedFraction = 0.3  ; fraction of locomotor speed below which treads stop moving.
    TreadPivotSpeedFraction = 0.6  ; fraction of locomotor speed below which we allow pivoting.
    OkToChangeModelColor = Yes
  End

  ; ***DESIGN parameters ***
  DisplayName            = OBJECT:EW_FDTank
  Side                   = EquestriaExperimentalWeaponGeneral
  EditorSorting          = VEHICLE
  TransportSlotCount     = 5
  WeaponSet
    Conditions           = None 
    Weapon               = PRIMARY   WarpTankGun
    Weapon               = SECONDARY TeleportWeapon ;Just create a portal from the gun
    AutoChooseSources    = SECONDARY None
  End
  WeaponSet
    Conditions           = ELITE 
    Weapon               = PRIMARY   SuperWarpTankGun
    Weapon               = SECONDARY TeleportWeapon ;Just create a portal from the gun
    AutoChooseSources    = SECONDARY None
  End
  
  ArmorSet
    Conditions           = None
    Armor                = FDTankArmor
    DamageFX             = TankDamageFX
  End
  
  BuildCost              = 8000
  BuildTime              = 60.0          ;in seconds    
  VisionRange            = 150
  ShroudClearingRange    = 300
  Prerequisites
    Object   = EW_EquestriaWarFactory
     Science = SCIENCE_Rank4
  End
  EnergyProduction       = -5
  ExperienceValue        = 100 100 200 400 ;Experience point value at each level
  ExperienceRequired     = 0 500 1000 1200 ;Experience points needed to gain each level
  IsTrainable            = Yes  ;Can gain experience
  CrusherLevel           = 2  ;What can I crush?: 1 = infantry, 2 = trees, 3 = vehicles
  CrushableLevel         = 2  ;What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles
  CommandSet             = EW_EquestriaWarpTankCommandSet
  
  ; *** AUDIO Parameters ***
  VoiceSelect           = CrusaderTankVoiceSelect
  VoiceMove             = CrusaderTankVoiceMove
  VoiceGuard            = CrusaderTankVoiceMove
  VoiceAttack           = CrusaderTankVoiceAttack
  SoundMoveStart        = CrusaderTankMoveStart
  SoundMoveStartDamaged = CrusaderTankMoveStart
  UnitSpecificSounds
    ; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
    VoiceCreate         = CrusaderTankVoiceCreate
    VoiceEnter             = CrusaderTankVoiceMove
    TurretMoveStart     = NoSound
    TurretMoveLoop      = TurretMoveLoop
    SoundEject          = PilotSoundEject
    VoiceEject          = PilotVoiceEject
    VoiceCrush          = CrusaderTankVoiceCrush
  End

  ; *** ENGINEERING Parameters ***
  RadarPriority          = UNIT
  KindOf                 = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS HUGE_VEHICLE POWERED SCORE DRONE HERO EMP_HARDENED
  
  Body                   = ActiveBody ModuleTag_02
    MaxHealth       = 13000
    InitialHealth   = 13000

    ; Subdual damage "Subdues" you (reaction defined by BodyModule) when it passes your max health.
    ; The cap limits how extra-subdued you can be, and the other numbers detemine how fast it drains away on its own.
    SubdualDamageCap = 900
    SubdualDamageHealRate = 500
    SubdualDamageHealAmount = 50
  End

  Behavior = AIUpdateInterface ModuleTag_03
    Turret
      TurretTurnRate       = 180 ;60   // turn rate, in degrees per sec
      ControlledWeaponSlots= PRIMARY SECONDARY
    End
    AutoAcquireEnemiesWhenIdle = Yes
  End
  
  Locomotor            = SET_NORMAL FDTankLocomotor
  
  Behavior = PhysicsBehavior ModuleTag_04
    Mass                 = 500.0
  End
  
  Behavior    = OCLSpecialPower ModuleTag_05
    SpecialPowerTemplate = SpecialAbilityTeleportPortal  ;Create a portal to teleport friendly unit, another portal create in generals power to connect.
    OCL                  = OCL_SpecialAbilityTeleportPortal
  End
  
  Behavior = OCLSpecialPower ModuleTag_Teleportself
    SpecialPowerTemplate = SpecialAbilityTeleport
    OCL                  = SUPERWEAPON_Teleport ;makes the new FD Tank and fires a suicide weapon to kill this one
    CreateLocation       = CREATE_AT_LOCATION
    OCLAdjustPositionToPassable = Yes ;Like RA2, shift target to passable cell so we don't land in water and on cliffs.
    StartsPaused         = No
    ReferenceObject      = FadingInFDTank ;So we know what the final product is for script placement calculations
  End
  
  Behavior         = GrantUpgradeCreate ModuleTag_06
    UpgradeToGrant = SpW_Upgrade_EquestriaLaserDrone
  End
  
  Behavior = ExperienceScalarUpgrade ModuleTag_08
    TriggeredBy   = Upgrade_AmericaAdvancedTraining
    AddXPScalar   = 1.0 ;Increases experience gained by an additional 100%
  End

  Behavior = SlowDeathBehavior ModuleTag_09
    DeathTypes = ALL -POISONED -POISONED_BETA -POISONED_GAMMA -EXTRA_5 -EXTRA_6
    DestructionDelay = 1600
    FX      = INITIAL WeaponFX_LaserExplosionInitial
    OCL     = INITIAL OCL_ExplosionLasers
    Weapon  = INITIAL Lazr_AuroraBombPreDetonationWeapon
    FX      = FINAL   WeaponFX_LaserBombExplode
    OCL     = FINAL   OCL_FDWarpTankDebris
    Weapon  = FINAL   Lazr_AuroraBombDetonationWeapon
  End

  Behavior = SlowDeathBehavior ModuleTag_10
    DeathTypes = NONE +POISONED +POISONED_BETA +POISONED_GAMMA -EXTRA_5 +EXTRA_6
    DestructionDelay  = 100
    OCL = FINAL OCL_FDWarpTankDeathEffectSimple
  End
  
  Behavior = InstantDeathBehavior ModuleTag_Death3
    DeathTypes = NONE +EXTRA_5
    ExemptStatus = UNDER_CONSTRUCTION
    FX  = FX_FadingFDTankStarts
    OCL = OCL_FDTank1
  End
  
  Behavior                 = TransitionDamageFX ModuleTag_12
    ReallyDamagedParticleSystem1 = Bone:Smoke RandomBone:Yes PSys:SmallLightSmokeColumn
    ReallyDamagedFXList1 = Loc: X:0 Y:0 Z:0 FXList:FX_BattleMasterDamageTransition
  End
  
  Behavior                    = CreateCrateDie ModuleTag_CratesChange
   CrateData             = SalvageCrateData
  End
  
  Behavior = ObjectCreationUpgrade ModuleTag_13
    UpgradeObject = EW_OCL_EquestriaLaserDrone
    TriggeredBy   = SpW_Upgrade_EquestriaLaserDrone
  End
  
  Behavior = ProductionUpdate ModuleTag_14
    MaxQueueEntries = 1; So you can't build multiple upgrades in the same frame
  End
  
  Behavior = MaxHealthUpgrade ModuleTag_15
    TriggeredBy   = Upgrade_EquestriaTankArmor
    AddMaxHealth  = 2000
    ChangeType    = PRESERVE_RATIO
  End
  
  Behavior = EjectPilotDie ModuleTag_17
    GroundCreationList = OCL_EjectPilotOnGround
    AirCreationList = OCL_EjectPilotViaParachute
    ExemptStatus = HIJACKED
    VeterancyLevels =  ALL -REGULAR ;only vet+ gives pilot
  End
  
  Behavior = FlammableUpdate ModuleTag_21
    AflameDuration = 5000         ; If I catch fire, I'll burn for this long...
    AflameDamageAmount = 3       ; taking this much damage...
    AflameDamageDelay = 500       ; this often.
  End
  
  Geometry               = BOX
  GeometryMajorRadius    = 15.0
  GeometryMinorRadius    = 10.0
  GeometryHeight         = 10.0     
  GeometryIsSmall        = Yes    
  Shadow = SHADOW_VOLUME
  ShadowSizeX = 45  ; minimum elevation angle above horizon. Used to limit shadow length

End


And now, i got 2 special powers for my tank.

Edited by user Thursday, November 11, 2021 3:01:45 AM(UTC)  | Reason: Not specified

Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.