Posted by: boaz23 - Sunday, June 30, 2013 12:15:36 PM
I have been having difficulty to get the weapons in my rebel's weapon set to work correctly together with the demolition's general suicide bomb. The demolition's general suicide bomb works well if I don't change the rebel's weapon. Can you help me get it working?
Also, when firing the secondary weapon, it fires it from the ground, but that's a little animation bug I can take, but if someone can solve this too, then I also thank you.
[b]The Rebel's Code:[/b]
[quote]Object GLASpecialForceInfantryRebel
; *** ART Parameters ***
SelectPortrait = SUToxinRebel_L
ButtonImage = SUToxinRebel
UpgradeCameo1 = Upgrade_GLAAPBullets
UpgradeCameo2 = Upgrade_InfantryCaptureBuilding
UpgradeCameo3 = Demo_Upgrade_SuicideBomb
UpgradeCameo4 = Chem_Upgrade_GLAAnthraxGamma
;UpgradeCameo5 = NONE
Draw = W3DModelDraw ModuleTag_01
OkToChangeModelColor = Yes
ParticlesAttachedToAnimatedBones = Yes
; this says "we don't use these condition states at all, so completely
; ignore them for purposes of matchmaking"... this is useful to help
; reduce the number of AliasConditionState clauses you must add in
; order to avoid ambiguity in some cases.
IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A
; ---- standing
DefaultConditionState
Model = UIRGrdTOX_SKN
IdleAnimation = UIRGrd_SKL.UIRGrd_STN 0 35
IdleAnimation = UIRGrd_SKL.UIRGrd_IDA
IdleAnimation = UIRGrd_SKL.UIRGrd_IDB
AnimationMode = ONCE
WeaponFireFXBone = PRIMARY Muzzle01
WeaponLaunchBone = PRIMARY Muzzle01
HideSubObject = MuzzleFX01
TransitionKey = TRANS_Standing
;;; ParticleSysBone = MUZZLE01 WaterSpray
End
ConditionState = REALLYDAMAGED
IdleAnimation = UIRGrd_SKL.UIRGrd_STB 0 35
IdleAnimation = UIRGrd_SKL.UIRGrd_IDC
IdleAnimation = UIRGrd_SKL.UIRGrd_IDD
AnimationMode = ONCE
TransitionKey = TRANS_StandingHurt
End
; ---- moving
ConditionState = MOVING
Animation = UIRGrd_SKL.UIRGrd_RNA 15
AnimationMode = LOOP
TransitionKey = TRANS_Walking
ParticleSysBone = None InfantryDustTrails
End
AliasConditionState = MOVING ATTACKING
ConditionState = MOVING REALLYDAMAGED
Animation = UIRGrd_SKL.UIRGrd_RNB 25
AnimationMode = LOOP
TransitionKey = TRANS_WalkingHurt
ParticleSysBone = None InfantryDustTrails
End
AliasConditionState = MOVING ATTACKING REALLYDAMAGED
; ---- dying
ConditionState = DYING
Animation = UIRGrd_SKL.UIRGrd_DTA
Animation = UIRGrd_SKL.UIRGrd_DTB
AnimationMode = ONCE
TransitionKey = TRANS_Dying
End
TransitionState = TRANS_Dying TRANS_Flailing
Animation = UIRGrd_SKL.UIRGrd_ADTE1
AnimationMode = ONCE
End
ConditionState = DYING EXPLODED_FLAILING
Animation = UIRGrd_SKL.UIRGrd_ADTE2
AnimationMode = LOOP
TransitionKey = TRANS_Flailing
End
ConditionState = DYING EXPLODED_BOUNCING
Animation = UIRGrd_SKL.UIRGrd_ADTE3
AnimationMode = ONCE
TransitionKey = None
End
ConditionState = SPECIAL_CHEERING
Animation = UIRGrd_SKL.UIRGrd_IDB
End
; ---- firing
ConditionState = USING_WEAPON_A
Animation = UIRGrd_SKL.UIRGrd_ATA3
AnimationMode = LOOP
TransitionKey = TRANS_Firing
End
ConditionState = USING_WEAPON_A REALLYDAMAGED
Animation = UIRGrd_SKL.UIRGrd_ATA2
AnimationMode = LOOP
TransitionKey = TRANS_FiringHurt
End
TransitionState = TRANS_Standing TRANS_Firing
Animation = UIRGrd_SKL.UIRGrd_ATAST
AnimationMode = ONCE
End
TransitionState = TRANS_Firing TRANS_Standing
Animation = UIRGrd_SKL.UIRGrd_ATAED
AnimationMode = ONCE
End
TransitionState = TRANS_StandingHurt TRANS_FiringHurt
Animation = UIRGrd_SKL.UIRGrd_ATA2ED
AnimationMode = ONCE_BACKWARDS
End
TransitionState = TRANS_FiringHurt TRANS_StandingHurt
Animation = UIRGrd_SKL.UIRGrd_ATA2ED
AnimationMode = ONCE
End
TransitionState = TRANS_Standing TRANS_StandingHurt
Animation = UIRGrd_SKL.UIRGrd_ATA2ED
AnimationMode = ONCE
End
; ---- firing
ConditionState = USING_WEAPON_B
Animation = UIRGrd_SKL.UIRGrd_ATA
AnimationMode = LOOP
TransitionKey = TRANS_Firing
End
ConditionState = USING_WEAPON_B REALLYDAMAGED
Animation = UIRGrd_SKL.UIRGrd_ATA2
AnimationMode = LOOP
TransitionKey = TRANS_FiringHurt
End
TransitionState = TRANS_Standing TRANS_Firing
Animation = UIRGrd_SKL.UIRGrd_ATAST
AnimationMode = ONCE
End
TransitionState = TRANS_Firing TRANS_Standing
Animation = UIRGrd_SKL.UIRGrd_ATAED
AnimationMode = ONCE
End
TransitionState = TRANS_StandingHurt TRANS_FiringHurt
Animation = UIRGrd_SKL.UIRGrd_ATA2ED
AnimationMode = ONCE_BACKWARDS
End
TransitionState = TRANS_FiringHurt TRANS_StandingHurt
Animation = UIRGrd_SKL.UIRGrd_ATA2ED
AnimationMode = ONCE
End
TransitionState = TRANS_Standing TRANS_StandingHurt
Animation = UIRGrd_SKL.UIRGrd_ATA2ED
AnimationMode = ONCE
End
; ------- Bldg-capture
ConditionState = UNPACKING
Model = UIRGrdTOXF_SKN
Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1
AnimationMode = ONCE
End
AliasConditionState = UNPACKING REALLYDAMAGED
ConditionState = RAISING_FLAG
Model = UIRGrdTOXF_SKN
Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2
AnimationMode = ONCE
TransitionKey = TRANS_Raising
End
AliasConditionState = RAISING_FLAG REALLYDAMAGED
ConditionState = PACKING
Model = UIRGrdTOXF_SKN
Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1
AnimationMode = ONCE_BACKWARDS
Flags = START_FRAME_LAST
TransitionKey = TRANS_Packing
End
AliasConditionState = PACKING REALLYDAMAGED
TransitionState = TRANS_Raising TRANS_Packing
Model = UIRGrdTOXF_SKN
Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2
AnimationMode = ONCE_BACKWARDS
Flags = START_FRAME_LAST
End
End
; ***DESIGN parameters ***
DisplayName = OBJECT:Rebel
Side = GLASpecialForce
EditorSorting = INFANTRY
TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable)
WeaponSet
Conditions = None
Weapon = PRIMARY GLARebelMachineGun
Weapon = SECONDARY GC_Chem_GLARebelGunBeta
Weapon = TERTIARY TerroristSuicideNotARealWeapon
AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI
AutoChooseSources = SECONDARY FROM_SCRIPT DEFAULT_SWITCH_WEAPON
AutoChooseSources = TERTIARY FROM_SCRIPT
WeaponLockSharedAcrossSets = Yes
End
WeaponSet
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY GLARebelMachineGun
Weapon = SECONDARY GC_Chem_GLARebelGunGamma
Weapon = TERTIARY TerroristSuicideNotARealWeapon
AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI
AutoChooseSources = SECONDARY FROM_SCRIPT DEFAULT_SWITCH_WEAPON
AutoChooseSources = TERTIARY FROM_SCRIPT
WeaponLockSharedAcrossSets = Yes
End
ArmorSet
Conditions = None
Armor = ChemRebSuitHumanArmor
DamageFX = InfantryDamageFX
End
VisionRange = 150
ShroudClearingRange = 300
Prerequisites
Object = GLASpecialForceBarracks
End
BuildCost = 150
BuildTime = 5.0 ;in seconds
ExperienceValue = 15 15 30 40 ;Experience point value at each level
ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level
IsTrainable = Yes ;Can gain experience
CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CommandSet = GLASpecialForceInfantryRebelCommandSetAnthrax
; *** AUDIO Parameters ***
VoiceSelect = RebelVoiceSelect
VoiceMove = RebelVoiceMove
VoiceGuard = RebelVoiceMove
VoiceAttack = RebelVoiceAttack
SoundStealthOn = StealthOn
SoundStealthOff = StealthOff
VoiceFear = RebelVoiceFear
VoiceTaskComplete = RebelVoiceCaptureComplete
UnitSpecificSounds
VoiceCreate = RebelVoiceCreate
VoiceSubdue = RebelVoiceSubdue
VoiceGarrison = RebelVoiceGarrison
VoiceEnter = RebelVoiceMove
VoiceEnterHostile = RebelVoiceMove
VoiceGetHealed = RebelVoiceMove
End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE
Body = ActiveBody ModuleTag_02
MaxHealth = 120.0
InitialHealth = 120.0
End
Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes
End
Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit.
End
Locomotor = SET_NORMAL BasicHumanLocomotor
Behavior = PhysicsBehavior ModuleTag_05
Mass = 5.0
End
Behavior = StealthUpdate ModuleTag_07
StealthDelay = 2500 ; msec
StealthForbiddenConditions = ATTACKING USING_ABILITY TAKING_DAMAGE
MoveThresholdSpeed = 3
InnateStealth = Yes ;doesnt Require upgrade first
OrderIdleEnemiesToAttackMeUponReveal = Yes
End
Behavior = WeaponBonusUpgrade ModuleTag_09
TriggeredBy = Upgrade_GLAAPBullets
End
Behavior = GrantUpgradeCreate ModuleTag_10
UpgradeToGrant = Upgrade_GLACamouflage
End
Behavior = SquishCollide ModuleTag_11
;nothing
End
; --- begin Death modules ---
Behavior = SlowDeathBehavior ModuleTag_Death01
DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA -SUICIDED
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_RebelDie
End
Behavior = SlowDeathBehavior ModuleTag_Death02
DeathTypes = NONE +CRUSHED +SPLATTED
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_GIDieCrushed
End
Behavior = SlowDeathBehavior ModuleTag_Death03
DeathTypes = NONE +EXPLODED -SUICIDED
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_RebelDie
FlingForce = 8
FlingForceVariance = 3
FlingPitch = 60
FlingPitchVariance = 10
End
Behavior = SlowDeathBehavior ModuleTag_Death04
DeathTypes = NONE +BURNED
DestructionDelay = 0
FX = INITIAL FX_DieByFireGLA
OCL = INITIAL OCL_FlamingInfantry
End
Behavior = SlowDeathBehavior ModuleTag_Death05
DeathTypes = NONE +POISONED
DestructionDelay = 0
FX = INITIAL FX_DieByToxinGLA
OCL = INITIAL OCL_ToxicInfantry
End
Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
DeathTypes = NONE +POISONED_BETA
DestructionDelay = 0
FX = INITIAL FX_DieByToxinGLA
OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
End
Behavior = SlowDeathBehavior ModuleTag_Death07
DeathTypes = NONE +POISONED_GAMMA
DestructionDelay = 0
FX = INITIAL FX_DieByToxinGLA
OCL = INITIAL OCL_ToxicInfantryGamma
End
; --- end Death modules ---
Behavior = PoisonedBehavior ModuleTag_16
PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me...
PoisonDuration = 3000 ; ... for this long after last hit by poison damage
End
Behavior = SpecialAbility ModuleTag_17
SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding
UpdateModuleStartsAttack = Yes
StartsPaused = Yes
InitiateSound = RebelVoiceCapture
End
Behavior = SpecialAbilityUpdate ModuleTag_18
SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding
StartAbilityRange = 5.0
UnpackTime = 3000 ; (changing this will scale anim speed)
PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed)
PackTime = 2000 ; (changing this will scale anim speed)
DoCaptureFX = Yes
AwardXPForTriggering = 12
;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values.
End
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_19
SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding
TriggeredBy = Upgrade_InfantryCaptureBuilding
End
Behavior = SpecialAbility ModuleTag_20
SpecialPowerTemplate = SpecialAbilityBoobyTrap
UpdateModuleStartsAttack = Yes
StartsPaused = Yes
; InitiateSound = TankHunterVoiceTNT
End
Behavior = SpecialAbilityUpdate ModuleTag_21
SpecialPowerTemplate = SpecialAbilityBoobyTrap
StartAbilityRange = 5.0
PreparationTime = 0
SpecialObject = BoobyTrap
MaxSpecialObjects = 100
SpecialObjectsPersistWhenOwnerDies = Yes
SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them.
; Not implemented UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object.
End
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_22
SpecialPowerTemplate = SpecialAbilityBoobyTrap
TriggeredBy = Upgrade_GLAInfantryRebelBoobyTrapAttack
End
; Module 23 commented out because it crashes saved games if the Rebel is Elite. GrantUpgradeCreate is a twitchy module.
; Behavior = GrantUpgradeCreate ModuleTag_23
; UpgradeToGrant = Upgrade_GLAInfantryRebelBoobyTrapAttack
; ExemptStatus = UNDER_CONSTRUCTION
; End
; I have just pulled my ripcord, and this ain't no parachute!
Behavior = SlowDeathBehavior ModuleTag_Death17
DeathTypes = NONE +SUICIDED +EXPLODED
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_TerroristExplode
FlingForce = 8
FlingForceVariance = 3
FlingPitch = 60
FlingPitchVariance = 10
End
Behavior = WeaponSetUpgrade ModuleTag_08
TriggeredBy = Chem_Upgrade_GLAAnthraxGamma
End
Behavior = FireWeaponWhenDeadBehavior ModuleTag998
DeathWeapon = Demo_SuicideDynamitePackPlusFire
StartsActive = No
TriggeredBy = Demo_Upgrade_SuicideBomb
DeathTypes = NONE +SUICIDED
End;
Behavior = FireWeaponWhenDeadBehavior ModuleTag999
DeathWeapon = Demo_DestroyedWeapon
StartsActive = No
TriggeredBy = Demo_Upgrade_SuicideBomb
DeathTypes = ALL -SUICIDED
End
Behavior = CommandSetUpgrade ModuleTag_25
CommandSet = GLASpecialForceInfantryRebelCommandSetAnthraxUpgrade
TriggeredBy = Demo_Upgrade_SuicideBomb
End
Geometry = CYLINDER
GeometryMajorRadius = 10.0
GeometryMinorRadius = 10.0
GeometryHeight = 12.0
GeometryIsSmall = Yes
Shadow = SHADOW_DECAL
ShadowSizeX = 14;
ShadowSizeY = 14;
ShadowTexture = ShadowI;
BuildCompletion = APPEARS_AT_RALLY_POINT
End[/quote]
[b]The Weapons Switch Command Buttons's Code:[/b]
[quote]CommandButton Command_GLASpecialForceRebelSwitchToMachineGun
Command = SWITCH_WEAPON
WeaponSlot = PRIMARY
Options = CHECK_LIKE OK_FOR_MULTI_SELECT
TextLabel = CONTROLBAR:RangerMachineGun
ButtonImage = SSAPShells
ButtonBorderType = ACTION
DescriptLabel = CONTROLBAR:ToolTipSwitchToRangerMachineGun
End
CommandButton Command_GLASpecialForceRebelSwitchToAnthrax
Command = SWITCH_WEAPON
WeaponSlot = SECONDARY
Options = CHECK_LIKE OK_FOR_MULTI_SELECT
TextLabel = CONTROLBAR:RebelToxinGun
ButtonImage = SSAnthraxBomb
ButtonBorderType = ACTION
DescriptLabel = CONTROLBAR:ToolTipSwitchToRebelToxinGun
End[/quote]
[b]And the Rebel's Command Sets Code:[/b]
[quote]CommandSet GLASpecialForceInfantryRebelCommandSetAnthrax
1 = Command_GLAInfantryRebelCaptureBuilding
2 = Command_GLAInfantryRebelBoobyTrapAttack
3 = Command_GLASpecialForceRebelSwitchToMachineGun
5 = Command_GLASpecialForceRebelSwitchToAnthrax
11 = Command_AttackMove
13 = Command_Guard
14 = Command_Stop
End
CommandSet GLASpecialForceInfantryRebelCommandSetAnthraxUpgrade
1 = Command_GLAInfantryRebelCaptureBuilding
2 = Command_GLAInfantryRebelBoobyTrapAttack
3 = Command_GLASpecialForceRebelSwitchToMachineGun
4 = Demo_Command_TertiarySuicide
5 = Command_GLASpecialForceRebelSwitchToAnthrax
11 = Command_AttackMove
13 = Command_Guard
14 = Command_Stop
End[/quote]
You can also download the mode here to see what I am talking about:[url]http://www.mediafire.com/download/y9r8cr6v8vay88f/SpecialForces.big[/url]
Thanks for all the helpers
Posted by: Annihilationzh - Sunday, June 30, 2013 1:30:51 PM
Remove the suicide weapon. Use ObjectCreationUpgrade to spawn an explosion. Then give it an object upgrade that is free and instant to trigger it.
Posted by: boaz23 - Sunday, June 30, 2013 2:04:34 PM
How do I create an object that kills the rebel once it spawns?
Also, I did not get the last part of your answer:
[quote]Then give it an object upgrade that is free and instant to trigger it.[/quote]
Thank you for replaying
Posted by: Annihilationzh - Sunday, June 30, 2013 2:18:43 PM
[quote]How do I create an object that kills the rebel once it spawns?[/quote]
Copy a radiation field, but turn it explosive.
[quote]Also, I did not get the last part of your answer:[/quote]
This is an object upgrade with no cost or build time:
[code=java]Upgrade Upgrade_GLAWorkerFakeCommandSet
Type = OBJECT
BuildTime = 0.0
BuildCost = 0
ButtonImage = SUFakeToggle
End[/code]
Use an upgrade like this to trigger the explosion.
Posted by: Rrtaya_tsamsiyu - Sunday, June 30, 2013 9:49:57 PM
To fix the secondary weapon firing from the ground, go to where it says
[code=plain]WeaponFireFXBone = PRIMARY Muzzle01
WeaponLaunchBone = PRIMARY Muzzle01[/code]
and add secondary stuffs, so it looks like this
[code=plain]WeaponFireFXBone = PRIMARY Muzzle01
WeaponLaunchBone = PRIMARY Muzzle01
WeaponFireFXBone = SECONDARY Muzzle01
WeaponLaunchBone = SECONDARY Muzzle01[/code]
Posted by: boaz23 - Monday, July 1, 2013 12:14:51 PM
Well, I have tried to do as you sad, Annihilationzh, and now pressing the explosion trigger upgrade button is impossible... I got no clue what it might be.
[b]The Rebel's Code:[/b]
[quote]Object GLASpecialForceInfantryRebel
; *** ART Parameters ***
SelectPortrait = SUToxinRebel_L
ButtonImage = SUToxinRebel
UpgradeCameo1 = Upgrade_GLAAPBullets
UpgradeCameo2 = Upgrade_InfantryCaptureBuilding
UpgradeCameo3 = Demo_Upgrade_SuicideBomb
UpgradeCameo4 = Chem_Upgrade_GLAAnthraxGamma
;UpgradeCameo5 = NONE
Draw = W3DModelDraw ModuleTag_01
OkToChangeModelColor = Yes
ParticlesAttachedToAnimatedBones = Yes
; this says "we don't use these condition states at all, so completely
; ignore them for purposes of matchmaking"... this is useful to help
; reduce the number of AliasConditionState clauses you must add in
; order to avoid ambiguity in some cases.
IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A
; ---- standing
DefaultConditionState
Model = UIRGrdTOX_SKN
IdleAnimation = UIRGrd_SKL.UIRGrd_STN 0 35
IdleAnimation = UIRGrd_SKL.UIRGrd_IDA
IdleAnimation = UIRGrd_SKL.UIRGrd_IDB
AnimationMode = ONCE
WeaponFireFXBone = PRIMARY Muzzle01
WeaponLaunchBone = PRIMARY Muzzle01
WeaponFireFXBone = SECONDARY Muzzle01
WeaponLaunchBone = SECONDARY Muzzle01
HideSubObject = MuzzleFX01
TransitionKey = TRANS_Standing
;;; ParticleSysBone = MUZZLE01 WaterSpray
End
ConditionState = REALLYDAMAGED
IdleAnimation = UIRGrd_SKL.UIRGrd_STB 0 35
IdleAnimation = UIRGrd_SKL.UIRGrd_IDC
IdleAnimation = UIRGrd_SKL.UIRGrd_IDD
AnimationMode = ONCE
TransitionKey = TRANS_StandingHurt
End
; ---- moving
ConditionState = MOVING
Animation = UIRGrd_SKL.UIRGrd_RNA 15
AnimationMode = LOOP
TransitionKey = TRANS_Walking
ParticleSysBone = None InfantryDustTrails
End
AliasConditionState = MOVING ATTACKING
ConditionState = MOVING REALLYDAMAGED
Animation = UIRGrd_SKL.UIRGrd_RNB 25
AnimationMode = LOOP
TransitionKey = TRANS_WalkingHurt
ParticleSysBone = None InfantryDustTrails
End
AliasConditionState = MOVING ATTACKING REALLYDAMAGED
; ---- dying
ConditionState = DYING
Animation = UIRGrd_SKL.UIRGrd_DTA
Animation = UIRGrd_SKL.UIRGrd_DTB
AnimationMode = ONCE
TransitionKey = TRANS_Dying
End
TransitionState = TRANS_Dying TRANS_Flailing
Animation = UIRGrd_SKL.UIRGrd_ADTE1
AnimationMode = ONCE
End
ConditionState = DYING EXPLODED_FLAILING
Animation = UIRGrd_SKL.UIRGrd_ADTE2
AnimationMode = LOOP
TransitionKey = TRANS_Flailing
End
ConditionState = DYING EXPLODED_BOUNCING
Animation = UIRGrd_SKL.UIRGrd_ADTE3
AnimationMode = ONCE
TransitionKey = None
End
ConditionState = SPECIAL_CHEERING
Animation = UIRGrd_SKL.UIRGrd_IDB
End
; ---- firing
ConditionState = USING_WEAPON_A
Animation = UIRGrd_SKL.UIRGrd_ATA3
AnimationMode = LOOP
TransitionKey = TRANS_Firing
End
ConditionState = USING_WEAPON_A REALLYDAMAGED
Animation = UIRGrd_SKL.UIRGrd_ATA2
AnimationMode = LOOP
TransitionKey = TRANS_FiringHurt
End
TransitionState = TRANS_Standing TRANS_Firing
Animation = UIRGrd_SKL.UIRGrd_ATAST
AnimationMode = ONCE
End
TransitionState = TRANS_Firing TRANS_Standing
Animation = UIRGrd_SKL.UIRGrd_ATAED
AnimationMode = ONCE
End
TransitionState = TRANS_StandingHurt TRANS_FiringHurt
Animation = UIRGrd_SKL.UIRGrd_ATA2ED
AnimationMode = ONCE_BACKWARDS
End
TransitionState = TRANS_FiringHurt TRANS_StandingHurt
Animation = UIRGrd_SKL.UIRGrd_ATA2ED
AnimationMode = ONCE
End
TransitionState = TRANS_Standing TRANS_StandingHurt
Animation = UIRGrd_SKL.UIRGrd_ATA2ED
AnimationMode = ONCE
End
; ---- firing
ConditionState = USING_WEAPON_B
Animation = UIRGrd_SKL.UIRGrd_ATA
AnimationMode = LOOP
TransitionKey = TRANS_Firing
End
ConditionState = USING_WEAPON_B REALLYDAMAGED
Animation = UIRGrd_SKL.UIRGrd_ATA2
AnimationMode = LOOP
TransitionKey = TRANS_FiringHurt
End
TransitionState = TRANS_Standing TRANS_Firing
Animation = UIRGrd_SKL.UIRGrd_ATAST
AnimationMode = ONCE
End
TransitionState = TRANS_Firing TRANS_Standing
Animation = UIRGrd_SKL.UIRGrd_ATAED
AnimationMode = ONCE
End
TransitionState = TRANS_StandingHurt TRANS_FiringHurt
Animation = UIRGrd_SKL.UIRGrd_ATA2ED
AnimationMode = ONCE_BACKWARDS
End
TransitionState = TRANS_FiringHurt TRANS_StandingHurt
Animation = UIRGrd_SKL.UIRGrd_ATA2ED
AnimationMode = ONCE
End
TransitionState = TRANS_Standing TRANS_StandingHurt
Animation = UIRGrd_SKL.UIRGrd_ATA2ED
AnimationMode = ONCE
End
; ------- Bldg-capture
ConditionState = UNPACKING
Model = UIRGrdTOXF_SKN
Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1
AnimationMode = ONCE
End
AliasConditionState = UNPACKING REALLYDAMAGED
ConditionState = RAISING_FLAG
Model = UIRGrdTOXF_SKN
Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2
AnimationMode = ONCE
TransitionKey = TRANS_Raising
End
AliasConditionState = RAISING_FLAG REALLYDAMAGED
ConditionState = PACKING
Model = UIRGrdTOXF_SKN
Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1
AnimationMode = ONCE_BACKWARDS
Flags = START_FRAME_LAST
TransitionKey = TRANS_Packing
End
AliasConditionState = PACKING REALLYDAMAGED
TransitionState = TRANS_Raising TRANS_Packing
Model = UIRGrdTOXF_SKN
Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2
AnimationMode = ONCE_BACKWARDS
Flags = START_FRAME_LAST
End
End
; ***DESIGN parameters ***
DisplayName = OBJECT:Rebel
Side = GLASpecialForce
EditorSorting = INFANTRY
TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable)
WeaponSet
Conditions = None
Weapon = PRIMARY GLARebelMachineGun
Weapon = SECONDARY GC_Chem_GLARebelGunBeta
; Weapon = TERTIARY TerroristSuicideNotARealWeapon
AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI
AutoChooseSources = SECONDARY FROM_SCRIPT DEFAULT_SWITCH_WEAPON
; AutoChooseSources = TERTIARY FROM_SCRIPT
WeaponLockSharedAcrossSets = Yes
End
WeaponSet
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY GLARebelMachineGun
Weapon = SECONDARY GC_Chem_GLARebelGunGamma
; Weapon = TERTIARY TerroristSuicideNotARealWeapon
AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI
AutoChooseSources = SECONDARY FROM_SCRIPT DEFAULT_SWITCH_WEAPON
; AutoChooseSources = TERTIARY FROM_SCRIPT
WeaponLockSharedAcrossSets = Yes
End
ArmorSet
Conditions = None
Armor = ChemRebSuitHumanArmor
DamageFX = InfantryDamageFX
End
VisionRange = 150
ShroudClearingRange = 300
Prerequisites
Object = GLASpecialForceBarracks
End
BuildCost = 150
BuildTime = 5.0 ;in seconds
ExperienceValue = 15 15 30 40 ;Experience point value at each level
ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level
IsTrainable = Yes ;Can gain experience
CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CommandSet = GLASpecialForceInfantryRebelCommandSetAnthrax
; *** AUDIO Parameters ***
VoiceSelect = RebelVoiceSelect
VoiceMove = RebelVoiceMove
VoiceGuard = RebelVoiceMove
VoiceAttack = RebelVoiceAttack
SoundStealthOn = StealthOn
SoundStealthOff = StealthOff
VoiceFear = RebelVoiceFear
VoiceTaskComplete = RebelVoiceCaptureComplete
UnitSpecificSounds
VoiceCreate = RebelVoiceCreate
VoiceSubdue = RebelVoiceSubdue
VoiceGarrison = RebelVoiceGarrison
VoiceEnter = RebelVoiceMove
VoiceEnterHostile = RebelVoiceMove
VoiceGetHealed = RebelVoiceMove
End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE
Body = ActiveBody ModuleTag_02
MaxHealth = 120.0
InitialHealth = 120.0
End
Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes
End
Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit.
End
Locomotor = SET_NORMAL BasicHumanLocomotor
Behavior = PhysicsBehavior ModuleTag_05
Mass = 5.0
End
Behavior = StealthUpdate ModuleTag_07
StealthDelay = 2500 ; msec
StealthForbiddenConditions = ATTACKING USING_ABILITY TAKING_DAMAGE
MoveThresholdSpeed = 3
InnateStealth = Yes ;doesnt Require upgrade first
OrderIdleEnemiesToAttackMeUponReveal = Yes
End
Behavior = WeaponBonusUpgrade ModuleTag_09
TriggeredBy = Upgrade_GLAAPBullets
End
Behavior = GrantUpgradeCreate ModuleTag_10
UpgradeToGrant = Upgrade_GLACamouflage
End
Behavior = SquishCollide ModuleTag_11
;nothing
End
; --- begin Death modules ---
Behavior = SlowDeathBehavior ModuleTag_Death01
DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA -SUICIDED
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_RebelDie
End
Behavior = SlowDeathBehavior ModuleTag_Death02
DeathTypes = NONE +CRUSHED +SPLATTED
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_GIDieCrushed
End
Behavior = SlowDeathBehavior ModuleTag_Death03
DeathTypes = NONE +EXPLODED -SUICIDED
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_RebelDie
FlingForce = 8
FlingForceVariance = 3
FlingPitch = 60
FlingPitchVariance = 10
End
Behavior = SlowDeathBehavior ModuleTag_Death04
DeathTypes = NONE +BURNED
DestructionDelay = 0
FX = INITIAL FX_DieByFireGLA
OCL = INITIAL OCL_FlamingInfantry
End
Behavior = SlowDeathBehavior ModuleTag_Death05
DeathTypes = NONE +POISONED
DestructionDelay = 0
FX = INITIAL FX_DieByToxinGLA
OCL = INITIAL OCL_ToxicInfantry
End
Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
DeathTypes = NONE +POISONED_BETA
DestructionDelay = 0
FX = INITIAL FX_DieByToxinGLA
OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
End
Behavior = SlowDeathBehavior ModuleTag_Death07
DeathTypes = NONE +POISONED_GAMMA
DestructionDelay = 0
FX = INITIAL FX_DieByToxinGLA
OCL = INITIAL OCL_ToxicInfantryGamma
End
; --- end Death modules ---
Behavior = PoisonedBehavior ModuleTag_16
PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me...
PoisonDuration = 3000 ; ... for this long after last hit by poison damage
End
Behavior = SpecialAbility ModuleTag_17
SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding
UpdateModuleStartsAttack = Yes
StartsPaused = Yes
InitiateSound = RebelVoiceCapture
End
Behavior = SpecialAbilityUpdate ModuleTag_18
SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding
StartAbilityRange = 5.0
UnpackTime = 3000 ; (changing this will scale anim speed)
PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed)
PackTime = 2000 ; (changing this will scale anim speed)
DoCaptureFX = Yes
AwardXPForTriggering = 12
;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values.
End
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_19
SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding
TriggeredBy = Upgrade_InfantryCaptureBuilding
End
Behavior = SpecialAbility ModuleTag_20
SpecialPowerTemplate = SpecialAbilityBoobyTrap
UpdateModuleStartsAttack = Yes
StartsPaused = Yes
; InitiateSound = TankHunterVoiceTNT
End
Behavior = SpecialAbilityUpdate ModuleTag_21
SpecialPowerTemplate = SpecialAbilityBoobyTrap
StartAbilityRange = 5.0
PreparationTime = 0
SpecialObject = BoobyTrap
MaxSpecialObjects = 100
SpecialObjectsPersistWhenOwnerDies = Yes
SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them.
; Not implemented UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object.
End
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_22
SpecialPowerTemplate = SpecialAbilityBoobyTrap
TriggeredBy = Upgrade_GLAInfantryRebelBoobyTrapAttack
End
; Module 23 commented out because it crashes saved games if the Rebel is Elite. GrantUpgradeCreate is a twitchy module.
; Behavior = GrantUpgradeCreate ModuleTag_23
; UpgradeToGrant = Upgrade_GLAInfantryRebelBoobyTrapAttack
; ExemptStatus = UNDER_CONSTRUCTION
; End
; I have just pulled my ripcord, and this ain't no parachute!
Behavior = SlowDeathBehavior ModuleTag_Death17
DeathTypes = NONE +SUICIDED +EXPLODED
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_TerroristExplode
FlingForce = 8
FlingForceVariance = 3
FlingPitch = 60
FlingPitchVariance = 10
End
Behavior = WeaponSetUpgrade ModuleTag_08
TriggeredBy = Chem_Upgrade_GLAAnthraxGamma
End
Behavior = ObjectCreationUpgrade ModuleTag_997
UpgradeObject = OCL_GLASpecialForceSuicideOCL
TriggeredBy = Upgrade_GSFSuicideUpgrade
End
Behavior = FireWeaponWhenDeadBehavior ModuleTag998
DeathWeapon = Demo_SuicideDynamitePackPlusFire
StartsActive = No
TriggeredBy = Demo_Upgrade_SuicideBomb
DeathTypes = NONE +SUICIDED
End;
Behavior = FireWeaponWhenDeadBehavior ModuleTag999
DeathWeapon = Demo_DestroyedWeapon
StartsActive = No
TriggeredBy = Demo_Upgrade_SuicideBomb
DeathTypes = ALL -SUICIDED
End
Behavior = CommandSetUpgrade ModuleTag_25
CommandSet = GLASpecialForceInfantryRebelCommandSetAnthraxUpgrade
TriggeredBy = Demo_Upgrade_SuicideBomb
End
Geometry = CYLINDER
GeometryMajorRadius = 10.0
GeometryMinorRadius = 10.0
GeometryHeight = 12.0
GeometryIsSmall = Yes
Shadow = SHADOW_DECAL
ShadowSizeX = 14;
ShadowSizeY = 14;
ShadowTexture = ShadowI;
BuildCompletion = APPEARS_AT_RALLY_POINT
End[/quote]
[b]The Explosion Object's Code:[/b]
[quote]Object GLASpecialForceSuicideObject
; *** ART Parameters ***
Draw = W3DModelDraw ModuleTag_01
DefaultConditionState
Model = NONE
End
End
; ***DESIGN parameters ***
EditorSorting = SYSTEM
; KindOf = IMMOBILE CLEANUP_HAZARD INERT NO_COLLIDE STICK_TO_TERRAIN_SLOPE
KindOf = IMMOBILE INERT NO_COLLIDE STICK_TO_TERRAIN_SLOPE
ArmorSet
Conditions = None
Armor = HazardousMaterialArmor
End
; ***AUDIO parameters ***
; SoundAmbient = RadiationPoolAmbientLoop
; *** ENGINEERING Parameters ***
Body = ActiveBody ModuleTag_02
MaxHealth = 100.0
InitialHealth = 100.0
End
Behavior = FireWeaponUpdate ModuleTag_03
Weapon = GLASpecialForceSuicideWeapon
End
Behavior = LifetimeUpdate ModuleTag_04
MinLifetime = 500
MaxLifetime = 500
End
; Behavior = FireWeaponUpdate ModuleTag_05
; Weapon = HazardFieldCoreWeapon ; Prevents stacking of fields with a small blast of cleaning at the core at startup
; End
Behavior = DestroyDie ModuleTag_06
End
; Behavior = FXListDie ModuleTag_07
; DeathFX = FX_RadiationPoolDie
; End
Geometry = CYLINDER
GeometryMajorRadius = 10.0
GeometryHeight = 1.0
GeometryIsSmall = No
End[/quote]
[b]The Explosion Object's Weapon's Code:[/b]
[quote]Weapon GLASpecialForceSuicideWeapon
LeechRangeWeapon = Yes
AttackRange = 1.0
PrimaryDamage = 999999.0
PrimaryDamageRadius = 1.0
DamageDealtAtSelfPosition = Yes ; this is a suicide bomber... remember?
RadiusDamageAffects = SELF SUICIDE; ALLIES
DamageType = EXPLOSION
DeathType = SUICIDED
WeaponSpeed = 99999.0
DelayBetweenShots = 0
ClipSize = 1
ClipReloadTime = 0
AutoReloadsClip = No
;PreAttackDelay = 600 ;766 matches the animation timing his detonating
End[/quote]
[b]The OCL Code:[/b]
[quote]ObjectCreationList OCL_GLASpecialForceSuicideOCL
CreateObject
Offset = X:0 Y:0 Z:0
ObjectNames = GLASpecialForceSuicideObject
IgnorePrimaryObstacle = Yes
Disposition = ON_GROUND_ALIGNED
Count = 1
RequiresLivePlayer = Yes
End
End[/quote]
[b]The Upgrade's Code:[/b]
[quote]Upgrade Upgrade_GSFSuicideUpgrade
Type = OBJECT
BuildTime = 0.0
BuildCost = 0
ButtonImage = SUSuicideAttk
End[/quote]
[b]The Upgrade's Command Button's Code:[/b]
[quote]CommandButton Command_UpgradeGSFSuicideUpgrade
Command = OBJECT_UPGRADE;PLAYER_UPGRADE
Upgrade = Upgrade_GSFSuicideUpgrade
Options = OK_FOR_MULTI_SELECT NOT_QUEUEABLE
TextLabel = CONTROLBAR:SuicideAttack
ButtonImage = SUSuicideAttk
ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:ToolTipGLASuicideAttack
End[/quote]
[b]And at least, The Rebel's Command Sets's Code[/b]
[quote]CommandSet GLASpecialForceInfantryRebelCommandSetAnthrax
1 = Command_GLAInfantryRebelCaptureBuilding
2 = Command_GLAInfantryRebelBoobyTrapAttack
3 = Command_GLASpecialForceRebelSwitchToMachineGun
5 = Command_GLASpecialForceRebelSwitchToAnthrax
11 = Command_AttackMove
13 = Command_Guard
14 = Command_Stop
End
CommandSet GLASpecialForceInfantryRebelCommandSetAnthraxUpgrade
1 = Command_GLAInfantryRebelCaptureBuilding
2 = Command_GLAInfantryRebelBoobyTrapAttack
3 = Command_GLASpecialForceRebelSwitchToMachineGun
4 = Command_UpgradeGSFSuicideUpgrade
5 = Command_GLASpecialForceRebelSwitchToAnthrax
11 = Command_AttackMove
13 = Command_Guard
14 = Command_Stop
End[/quote]
If you need to see anything more, use this:[url]http://www.mediafire.com/download/buask12sb4gy4le/SpecialForces(2).big[/url]
Posted by: Annihilationzh - Monday, July 1, 2013 12:30:19 PM
EDIT: This was not intended as a response to the above post.
The Forum has been a bit slow lately, so...
[code]; ----------------------------------------------
ObjectCreationList OCL_SuicideBomb
CreateObject
ObjectNames = SuicideBomb
Disposition = ON_GROUND_ALIGNED
End
End[/code]
[code]CommandButton Command_UpgradeFakeSuicideButton
Command = OBJECT_UPGRADE
Upgrade = Upgrade_GLAWorkerFakeCommandSet
TextLabel = CONTROLBAR:SuicideAttack
ButtonImage = SUSuicideAttk
ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:ToolTipGLASuicideAttack
End[/code]
[code]CommandSet GLASpecialForceInfantryRebelCommandSetAnthrax
1 = Command_GLAInfantryRebelCaptureBuilding
2 = Command_GLAInfantryRebelBoobyTrapAttack
3 = Command_GLASpecialForceRebelSwitchToMachineGun
5 = Command_GLASpecialForceRebelSwitchToAnthrax
11 = Command_AttackMove
13 = Command_Guard
14 = Command_Stop
End
CommandSet GLASpecialForceInfantryRebelCommandSetAnthraxUpgrade
1 = Command_GLAInfantryRebelCaptureBuilding
2 = Command_GLAInfantryRebelBoobyTrapAttack
3 = Command_GLASpecialForceRebelSwitchToMachineGun
4 = Command_UpgradeFakeSuicideButton
5 = Command_GLASpecialForceRebelSwitchToAnthrax
11 = Command_AttackMove
13 = Command_Guard
14 = Command_Stop
End[/code]
[code]Weapon SuicideBombWeapon
PrimaryDamage = 500.0
PrimaryDamageRadius = 18.0
SecondaryDamage = 300.0
SecondaryDamageRadius = 50.0
AttackRange = 15.0
MinimumAttackRange = 10.0
DamageType = EXPLOSION
DeathType = EXPLODED
WeaponSpeed = 600 ; dist/sec
RadiusDamageAffects = SELF SUICIDE ALLIES ENEMIES NEUTRALS
FireFX = WeaponFX_SuicideDynamitePackDetonation
FireSound = CarBomberDie
DelayBetweenShots = 750
End[/code]
[code=java];------------------------------------------------------------------------------
Object GLASpecialForceInfantryRebel
; *** ART Parameters ***
SelectPortrait = SUToxinRebel_L
ButtonImage = SUToxinRebel
UpgradeCameo1 = Upgrade_GLAAPBullets
UpgradeCameo2 = Upgrade_InfantryCaptureBuilding
UpgradeCameo3 = Demo_Upgrade_SuicideBomb
UpgradeCameo4 = Chem_Upgrade_GLAAnthraxGamma
;UpgradeCameo5 = NONE
Draw = W3DModelDraw ModuleTag_01
OkToChangeModelColor = Yes
ParticlesAttachedToAnimatedBones = Yes
; this says "we don't use these condition states at all, so completely
; ignore them for purposes of matchmaking"... this is useful to help
; reduce the number of AliasConditionState clauses you must add in
; order to avoid ambiguity in some cases.
IgnoreConditionStates = PREATTACK_A FIRING_A BETWEEN_FIRING_SHOTS_A RELOADING_A
; ---- standing
DefaultConditionState
Model = UIRGrdTOX_SKN
IdleAnimation = UIRGrd_SKL.UIRGrd_STN 0 35
IdleAnimation = UIRGrd_SKL.UIRGrd_IDA
IdleAnimation = UIRGrd_SKL.UIRGrd_IDB
AnimationMode = ONCE
WeaponFireFXBone = PRIMARY Muzzle01
WeaponLaunchBone = PRIMARY Muzzle01
WeaponFireFXBone = SECONDARY Muzzle01
WeaponLaunchBone = SECONDARY Muzzle01
HideSubObject = MuzzleFX01
TransitionKey = TRANS_Standing
;;; ParticleSysBone = MUZZLE01 WaterSpray
End
ConditionState = REALLYDAMAGED
IdleAnimation = UIRGrd_SKL.UIRGrd_STB 0 35
IdleAnimation = UIRGrd_SKL.UIRGrd_IDC
IdleAnimation = UIRGrd_SKL.UIRGrd_IDD
AnimationMode = ONCE
TransitionKey = TRANS_StandingHurt
End
; ---- moving
ConditionState = MOVING
Animation = UIRGrd_SKL.UIRGrd_RNA 15
AnimationMode = LOOP
TransitionKey = TRANS_Walking
ParticleSysBone = None InfantryDustTrails
End
AliasConditionState = MOVING ATTACKING
ConditionState = MOVING REALLYDAMAGED
Animation = UIRGrd_SKL.UIRGrd_RNB 25
AnimationMode = LOOP
TransitionKey = TRANS_WalkingHurt
ParticleSysBone = None InfantryDustTrails
End
AliasConditionState = MOVING ATTACKING REALLYDAMAGED
; ---- dying
ConditionState = DYING
Animation = UIRGrd_SKL.UIRGrd_DTA
Animation = UIRGrd_SKL.UIRGrd_DTB
AnimationMode = ONCE
TransitionKey = TRANS_Dying
End
TransitionState = TRANS_Dying TRANS_Flailing
Animation = UIRGrd_SKL.UIRGrd_ADTE1
AnimationMode = ONCE
End
ConditionState = DYING EXPLODED_FLAILING
Animation = UIRGrd_SKL.UIRGrd_ADTE2
AnimationMode = LOOP
TransitionKey = TRANS_Flailing
End
ConditionState = DYING EXPLODED_BOUNCING
Animation = UIRGrd_SKL.UIRGrd_ADTE3
AnimationMode = ONCE
TransitionKey = None
End
ConditionState = SPECIAL_CHEERING
Animation = UIRGrd_SKL.UIRGrd_IDB
End
; ---- firing
ConditionState = USING_WEAPON_A
Animation = UIRGrd_SKL.UIRGrd_ATA3
AnimationMode = LOOP
TransitionKey = TRANS_Firing
End
ConditionState = USING_WEAPON_A REALLYDAMAGED
Animation = UIRGrd_SKL.UIRGrd_ATA2
AnimationMode = LOOP
TransitionKey = TRANS_FiringHurt
End
TransitionState = TRANS_Standing TRANS_Firing
Animation = UIRGrd_SKL.UIRGrd_ATAST
AnimationMode = ONCE
End
TransitionState = TRANS_Firing TRANS_Standing
Animation = UIRGrd_SKL.UIRGrd_ATAED
AnimationMode = ONCE
End
TransitionState = TRANS_StandingHurt TRANS_FiringHurt
Animation = UIRGrd_SKL.UIRGrd_ATA2ED
AnimationMode = ONCE_BACKWARDS
End
TransitionState = TRANS_FiringHurt TRANS_StandingHurt
Animation = UIRGrd_SKL.UIRGrd_ATA2ED
AnimationMode = ONCE
End
TransitionState = TRANS_Standing TRANS_StandingHurt
Animation = UIRGrd_SKL.UIRGrd_ATA2ED
AnimationMode = ONCE
End
; ---- firing
ConditionState = USING_WEAPON_B
Animation = UIRGrd_SKL.UIRGrd_ATA
AnimationMode = LOOP
TransitionKey = TRANS_Firing
End
ConditionState = USING_WEAPON_B REALLYDAMAGED
Animation = UIRGrd_SKL.UIRGrd_ATA2
AnimationMode = LOOP
TransitionKey = TRANS_FiringHurt
End
TransitionState = TRANS_Standing TRANS_Firing
Animation = UIRGrd_SKL.UIRGrd_ATAST
AnimationMode = ONCE
End
TransitionState = TRANS_Firing TRANS_Standing
Animation = UIRGrd_SKL.UIRGrd_ATAED
AnimationMode = ONCE
End
TransitionState = TRANS_StandingHurt TRANS_FiringHurt
Animation = UIRGrd_SKL.UIRGrd_ATA2ED
AnimationMode = ONCE_BACKWARDS
End
TransitionState = TRANS_FiringHurt TRANS_StandingHurt
Animation = UIRGrd_SKL.UIRGrd_ATA2ED
AnimationMode = ONCE
End
TransitionState = TRANS_Standing TRANS_StandingHurt
Animation = UIRGrd_SKL.UIRGrd_ATA2ED
AnimationMode = ONCE
End
; ------- Bldg-capture
ConditionState = UNPACKING
Model = UIRGrdTOXF_SKN
Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1
AnimationMode = ONCE
End
AliasConditionState = UNPACKING REALLYDAMAGED
ConditionState = RAISING_FLAG
Model = UIRGrdTOXF_SKN
Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2
AnimationMode = ONCE
TransitionKey = TRANS_Raising
End
AliasConditionState = RAISING_FLAG REALLYDAMAGED
ConditionState = PACKING
Model = UIRGrdTOXF_SKN
Animation = UIRGrd_F_SKL.UIRGrd_F_FDP1
AnimationMode = ONCE_BACKWARDS
Flags = START_FRAME_LAST
TransitionKey = TRANS_Packing
End
AliasConditionState = PACKING REALLYDAMAGED
TransitionState = TRANS_Raising TRANS_Packing
Model = UIRGrdTOXF_SKN
Animation = UIRGrd_F_SKL.UIRGrd_F_FDP2
AnimationMode = ONCE_BACKWARDS
Flags = START_FRAME_LAST
End
End
; ***DESIGN parameters ***
DisplayName = OBJECT:Rebel
Side = GLASpecialForce
EditorSorting = INFANTRY
TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable)
WeaponSet
Conditions = None
Weapon = PRIMARY GLARebelMachineGun
Weapon = SECONDARY GC_Chem_GLARebelGunBeta
AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI
AutoChooseSources = SECONDARY FROM_SCRIPT DEFAULT_SWITCH_WEAPON
WeaponLockSharedAcrossSets = Yes
End
WeaponSet
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY GLARebelMachineGun
Weapon = SECONDARY GC_Chem_GLARebelGunGamma
AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI
AutoChooseSources = SECONDARY FROM_SCRIPT DEFAULT_SWITCH_WEAPON
WeaponLockSharedAcrossSets = Yes
End
ArmorSet
Conditions = None
Armor = ChemRebSuitHumanArmor
DamageFX = InfantryDamageFX
End
VisionRange = 150
ShroudClearingRange = 300
Prerequisites
Object = GLASpecialForceBarracks
End
BuildCost = 150
BuildTime = 5.0 ;in seconds
ExperienceValue = 15 15 30 40 ;Experience point value at each level
ExperienceRequired = 0 40 60 120 ;Experience points needed to gain each level
IsTrainable = Yes ;Can gain experience
CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CommandSet = GLASpecialForceInfantryRebelCommandSetAnthrax
; *** AUDIO Parameters ***
VoiceSelect = RebelVoiceSelect
VoiceMove = RebelVoiceMove
VoiceGuard = RebelVoiceMove
VoiceAttack = RebelVoiceAttack
SoundStealthOn = StealthOn
SoundStealthOff = StealthOff
VoiceFear = RebelVoiceFear
VoiceTaskComplete = RebelVoiceCaptureComplete
UnitSpecificSounds
VoiceCreate = RebelVoiceCreate
VoiceSubdue = RebelVoiceSubdue
VoiceGarrison = RebelVoiceGarrison
VoiceEnter = RebelVoiceMove
VoiceEnterHostile = RebelVoiceMove
VoiceGetHealed = RebelVoiceMove
End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY SALVAGER SCORE
Body = ActiveBody ModuleTag_02
MaxHealth = 120.0
InitialHealth = 120.0
End
Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes
End
Behavior = CommandButtonHuntUpdate ModuleTag_04 ; allows use of command button hunt script with this unit.
End
Locomotor = SET_NORMAL BasicHumanLocomotor
Behavior = PhysicsBehavior ModuleTag_05
Mass = 5.0
End
Behavior = StealthUpdate ModuleTag_07
StealthDelay = 2500 ; msec
StealthForbiddenConditions = ATTACKING USING_ABILITY TAKING_DAMAGE
MoveThresholdSpeed = 3
InnateStealth = Yes ;doesnt Require upgrade first
OrderIdleEnemiesToAttackMeUponReveal = Yes
End
Behavior = WeaponBonusUpgrade ModuleTag_09
TriggeredBy = Upgrade_GLAAPBullets
End
Behavior = GrantUpgradeCreate ModuleTag_10
UpgradeToGrant = Upgrade_GLACamouflage
End
Behavior = SquishCollide ModuleTag_11
;nothing
End
; --- begin Death modules ---
Behavior = SlowDeathBehavior ModuleTag_Death01
DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA -POISONED_GAMMA -SUICIDED
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_RebelDie
End
Behavior = SlowDeathBehavior ModuleTag_Death02
DeathTypes = NONE +CRUSHED +SPLATTED
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_GIDieCrushed
End
Behavior = SlowDeathBehavior ModuleTag_Death03
DeathTypes = NONE +EXPLODED -SUICIDED
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_RebelDie
FlingForce = 8
FlingForceVariance = 3
FlingPitch = 60
FlingPitchVariance = 10
End
Behavior = SlowDeathBehavior ModuleTag_Death04
DeathTypes = NONE +BURNED
DestructionDelay = 0
FX = INITIAL FX_DieByFireGLA
OCL = INITIAL OCL_FlamingInfantry
End
Behavior = SlowDeathBehavior ModuleTag_Death05
DeathTypes = NONE +POISONED
DestructionDelay = 0
FX = INITIAL FX_DieByToxinGLA
OCL = INITIAL OCL_ToxicInfantry
End
Behavior = SlowDeathBehavior ModuleTag_Death06 ; don't forget to give it a new, unique module tag
DeathTypes = NONE +POISONED_BETA
DestructionDelay = 0
FX = INITIAL FX_DieByToxinGLA
OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
End
Behavior = SlowDeathBehavior ModuleTag_Death07
DeathTypes = NONE +POISONED_GAMMA
DestructionDelay = 0
FX = INITIAL FX_DieByToxinGLA
OCL = INITIAL OCL_ToxicInfantryGamma
End
; --- end Death modules ---
Behavior = PoisonedBehavior ModuleTag_16
PoisonDamageInterval = 100 ; Every this many msec I will retake the poison damage dealt me...
PoisonDuration = 3000 ; ... for this long after last hit by poison damage
End
Behavior = SpecialAbility ModuleTag_17
SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding
UpdateModuleStartsAttack = Yes
StartsPaused = Yes
InitiateSound = RebelVoiceCapture
End
Behavior = SpecialAbilityUpdate ModuleTag_18
SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding
StartAbilityRange = 5.0
UnpackTime = 3000 ; (changing this will scale anim speed)
PreparationTime = 20000 ; time to complete hack once prepared (changing this will scale anim speed)
PackTime = 2000 ; (changing this will scale anim speed)
DoCaptureFX = Yes
AwardXPForTriggering = 12
;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values.
End
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_19
SpecialPowerTemplate = SpecialAbilityRebelCaptureBuilding
TriggeredBy = Upgrade_InfantryCaptureBuilding
End
Behavior = SpecialAbility ModuleTag_20
SpecialPowerTemplate = SpecialAbilityBoobyTrap
UpdateModuleStartsAttack = Yes
StartsPaused = Yes
; InitiateSound = TankHunterVoiceTNT
End
Behavior = SpecialAbilityUpdate ModuleTag_21
SpecialPowerTemplate = SpecialAbilityBoobyTrap
StartAbilityRange = 5.0
PreparationTime = 0
SpecialObject = BoobyTrap
MaxSpecialObjects = 100
SpecialObjectsPersistWhenOwnerDies = Yes
SpecialObjectsPersistent = Yes ;Charges are persistent till lifetime expires or owner detonates them.
; Not implemented UniqueSpecialObjectTargets = Yes ;This prevents multiple charges placed on the same object.
End
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_22
SpecialPowerTemplate = SpecialAbilityBoobyTrap
TriggeredBy = Upgrade_GLAInfantryRebelBoobyTrapAttack
End
; Module 23 commented out because it crashes saved games if the Rebel is Elite. GrantUpgradeCreate is a twitchy module.
; Behavior = GrantUpgradeCreate ModuleTag_23
; UpgradeToGrant = Upgrade_GLAInfantryRebelBoobyTrapAttack
; ExemptStatus = UNDER_CONSTRUCTION
; End
; I have just pulled my ripcord, and this ain't no parachute!
Behavior = SlowDeathBehavior ModuleTag_Death17
DeathTypes = NONE +EXPLODED
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_TerroristExplode
FlingForce = 8
FlingForceVariance = 3
FlingPitch = 60
FlingPitchVariance = 10
End
Behavior = WeaponSetUpgrade ModuleTag_08
TriggeredBy = Chem_Upgrade_GLAAnthraxGamma
End
Behavior = FireWeaponWhenDeadBehavior ModuleTag999
DeathWeapon = Demo_DestroyedWeapon
StartsActive = No
TriggeredBy = Demo_Upgrade_SuicideBomb
DeathTypes = ALL
End
Behavior = CommandSetUpgrade ModuleTag_25
CommandSet = GLASpecialForceInfantryRebelCommandSetAnthraxUpgrade
TriggeredBy = Demo_Upgrade_SuicideBomb
End
Behavior = ObjectCreationUpgrade ModuleTag_X0
UpgradeObject = OCL_SuicideBomb
TriggeredBy = Upgrade_GLAWorkerFakeCommandSet
End
Behavior = ProductionUpdate ModuleTag_X1
MaxQueueEntries = 1
End
Geometry = CYLINDER
GeometryMajorRadius = 10.0
GeometryMinorRadius = 10.0
GeometryHeight = 12.0
GeometryIsSmall = Yes
Shadow = SHADOW_DECAL
ShadowSizeX = 14;
ShadowSizeY = 14;
ShadowTexture = ShadowI;
BuildCompletion = APPEARS_AT_RALLY_POINT
End
;------------------------------------------------------------------------------
Object SuicideBomb
; *** ART Parameters ***
Draw = W3DModelDraw ModuleTag_01
DefaultConditionState
Model = NONE
End
End
; ***DESIGN parameters ***
EditorSorting = SYSTEM
; srj asks: should this also be STICK_TO_TERRAIN_SLOPE?
KindOf = IMMOBILE CLEANUP_HAZARD INERT NO_COLLIDE
ArmorSet
Conditions = None
Armor = InvulnerableAllArmor
End
; ***AUDIO parameters ***
SoundAmbient = RadiationPoolAmbientLoop
; *** ENGINEERING Parameters ***
Body = ActiveBody ModuleTag_02
MaxHealth = 5000.0
InitialHealth = 5000.0
End
Behavior = FireWeaponUpdate ModuleTag_03
Weapon = SuicideBombWeapon
End
Behavior = LifetimeUpdate ModuleTag_04
MinLifetime = 300
MaxLifetime = 300
End
Behavior = DestroyDie ModuleTag_06
End
Geometry = CYLINDER
GeometryMajorRadius = 100.0
GeometryHeight = 1.0
GeometryIsSmall = No
End[/code]
I don't think I've missed anything, but if I have, don't be afraid to poke me with a stick.
Posted by: boaz23 - Monday, July 1, 2013 1:10:07 PM
It finally works [grin].
Thank you so much guys, especially you Annihilationzh, Thank you very much.
I am sorry for beeing abit noob and for the slow posts.