 |
Forum Info
|
 |
Forum Members: 18,643
Total Threads: 8,744
Posts: 95,520
Administrators:
DeeZire, Redemption
There are currently 19 users online.
|
 |
Partner Links
|
 |
 |
Advertisements
|
 |
|
| Generals & Zero Hour Editing Discuss any modding related issues to do with Generals and Zero Hour here. |
02-28-2003, 04:04 PM
|
#11 (permalink)
|
|
Senior Member
Join Date: Jan 2003
Location: Santa Barbara
Posts: 107
|
Are the upgrade cameos really for cameos? Coz I thought they're defined somewhere else already. Maybe it is what upgrades are available for that unit? I don' know, just guessing.
Also can someone look into the condition states available for locomotors besides normal, normal_upgraded and some weird aircraft/ mob ones. I wish to add something in Blitzkrieg like when an infantry switches/ is upgraded to carrying a heavier weapon it walks slower.
|
|
|
03-01-2003, 07:01 PM
|
#12 (permalink)
|
|
Member
Join Date: Feb 2003
Location: not really shure
Posts: 74
|
hmm... well, I havent found a solution to that yet, but there might be a way to circumvent it
what I will try to figure out is if when you make the infantry switch to its heavier weapon, the unit will make a new infantry, but the old one will die. So, the new infantry will have the heavier weapon and be slower. You can then tell the new infatnry to switch to the lighter weapon by using code that kills the new infantry and creates the old one.
(dont worry if your confused) 
|
|
|
03-02-2003, 03:43 AM
|
#13 (permalink)
|
|
Senior Member
Join Date: Dec 2002
Location: New Zealand
Posts: 148
|
Quote:
|
Originally Posted by Chronosfera
I wish to add something in Blitzkrieg like when an infantry switches/ is upgraded to carrying a heavier weapon it walks slower.
|
Look at how the nuklear tanks upgrade works, just make the upgrade that triggers the heavier weapon trigger the code that switches to the alternate locometer..... its pretty much exactly the same as what you want to do as far as i can see
|
|
|
03-02-2003, 04:24 AM
|
#14 (permalink)
|
|
Administrator
Join Date: Dec 2002
Posts: 1,913
|
Chrono, the Locomotor conditions are all in the INI files. FYI, they are;-
SET_NORMAL
SET_NORMAL_UPGRADED
SET_FREEFALL
SET_WANDER
SET_PANIC
SET_TAXIIING
SET_SUPERSONIC
SET_SLUGGISH
__________________
|
|
|
03-02-2003, 08:31 PM
|
#15 (permalink)
|
|
Member
Join Date: Feb 2003
Location: not really shure
Posts: 74
|
I will look for a solution to the locomotor switching.
Meanwhile, here is the American Ranger in FactionUnit.ini
Quote:
Object AmericaInfantryRanger
; *** ART Parameters ***
SelectPortrait = SARanger_L
ButtonImage = SARanger
UpgradeCameo1 = Upgrade_AmericaRangerFlashBangGrenade
UpgradeCameo2 = Upgrade_AmericaAdvancedTraining
UpgradeCameo3 = Upgrade_InfantryCaptureBuilding
;UpgradeCameo4 = NONE
;UpgradeCameo5 = NONE
Draw = W3DModelDraw ModuleTag_01
OkToChangeModelColor = 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
; --- Idle
DefaultConditionState
Model = AIRngr_SKN
IdleAnimation = AIRngr_SKL.AIRngr_STA 0 35
IdleAnimation = AIRngr_SKL.AIRngr_IDA
IdleAnimation = AIRngr_SKL.AIRngr_IDB
AnimationMode = ONCE
WeaponFireFXBone = PRIMARY Muzzle
WeaponMuzzleFlash = PRIMARY MuzzleFX
WeaponFireFXBone = SECONDARY Muzzle
WeaponLaunchBone = SECONDARY Muzzle
TransitionKey = TRANS_Stand
End
ConditionState = REALLYDAMAGED
IdleAnimation = AIRngr_SKL.AIRngr_STB 0 35
IdleAnimation = AIRngr_SKL.AIRngr_IDC
IdleAnimation = AIRngr_SKL.AIRngr_IDD
AnimationMode = ONCE
TransitionKey = TRANS_StandInjured
End
TransitionState = TRANS_Stand TRANS_StandInjured
Animation = AIRngr_SKL.AIRngr_SA2SB
AnimationMode = ONCE
End
; --- attacking (Machine Gun)
ConditionState = USING_WEAPON_A
Animation = AIRngr_SKL.AIRngr_ATA
AnimationMode = LOOP
TransitionKey = TRANS_FiringA
End
ConditionState = USING_WEAPON_A REALLYDAMAGED
Animation = AIRngr_SKL.AIRngr_ATA2
AnimationMode = LOOP
TransitionKey = TRANS_FiringAInjured
End
TransitionState = TRANS_FiringA TRANS_FiringAInjured
Animation = AIRngr_SKL.AIRngr_A2WAA
AnimationMode = ONCE
End
TransitionState = TRANS_Stand TRANS_FiringA
Animation = AIRngr_SKL.AIRngr_ATAST
AnimationMode = ONCE
AnimationSpeedFactorRange = 4 4
End
TransitionState = TRANS_FiringA TRANS_Stand
Animation = AIRngr_SKL.AIRngr_ATAED
AnimationMode = ONCE
AnimationSpeedFactorRange = 4 4
End
TransitionState = TRANS_StandInjured TRANS_FiringAInjured
Animation = AIRngr_SKL.AIRngr_S2WAA
AnimationMode = ONCE
AnimationSpeedFactorRange = 4 4
End
TransitionState = TRANS_FiringAInjured TRANS_StandInjured
Animation = AIRngr_SKL.AIRngr_WAA2S
AnimationMode = ONCE
AnimationSpeedFactorRange = 4 4
End
TransitionState = TRANS_Stand TRANS_Move
Animation = AIRngr_SKL.AIRngr_STA2RNA
AnimationMode = ONCE
End
; --- attacking (Grenade Launcher)
ConditionState = PREATTACK_B
Animation = AIRngr_SKL.AIRngr_ATBA
AnimationMode = ONCE
TransitionKey = TRANS_FiringB
End
AliasConditionState = PREATTACK_B MOVING
AliasConditionState = PREATTACK_B FIRING_B
AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B
ConditionState = FIRING_B
Animation = AIRngr_SKL.AIRngr_ATBB
AnimationMode = ONCE
TransitionKey = TRANS_FiringB
End
ConditionState = BETWEEN_FIRING_SHOTS_B
Animation = AIRngr_SKL.AIRngr_ATBB
AnimationMode = MANUAL
Flags = START_FRAME_LAST
TransitionKey = TRANS_FiringB
WaitForStateToFinishIfPossible = TRANS_FiringB
End
AliasConditionState = RELOADING_B
TransitionState = TRANS_Stand TRANS_FiringB
Animation = AIRngr_SKL.AIRngr_ATBST1
AnimationMode = ONCE
End
TransitionState = TRANS_FiringB TRANS_Stand
Animation = AIRngr_SKL.AIRngr_ATBST2
AnimationMode = ONCE
End
ConditionState = PREATTACK_B REALLYDAMAGED
Animation = AIRngr_SKL.AIRngr_ATB2A
AnimationMode = ONCE
TransitionKey = TRANS_FiringBInjured
End
AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED
AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED
AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED
ConditionState = FIRING_B REALLYDAMAGED
Animation = AIRngr_SKL.AIRngr_ATB2B
AnimationMode = ONCE
TransitionKey = TRANS_FiringBInjured
End
ConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED
Animation = AIRngr_SKL.AIRngr_ATB2B
AnimationMode = MANUAL
Flags = START_FRAME_LAST
TransitionKey = TRANS_FiringBInjured
WaitForStateToFinishIfPossible = TRANS_FiringBInjured
End
AliasConditionState = RELOADING_B REALLYDAMAGED
TransitionState = TRANS_StandInjured TRANS_FiringBInjured
Animation = AIRngr_SKL.AIRngr_ATB2ST1
AnimationMode = ONCE
End
TransitionState = TRANS_FiringBInjured TRANS_StandInjured
Animation = AIRngr_SKL.AIRngr_ATB2ST2
AnimationMode = ONCE
End
; -- cross-attack transitions
TransitionState = TRANS_FiringA TRANS_FiringB
Animation = AIRngr_SKL.AIRngr_ATA2AB
AnimationMode = ONCE
AnimationSpeedFactorRange = 4 4
End
TransitionState = TRANS_FiringB TRANS_FiringA
Animation = AIRngr_SKL.AIRngr_ATA2AB
AnimationMode = ONCE_BACKWARDS
AnimationSpeedFactorRange = 4 4
End
; --- moving
ConditionState = MOVING
Animation = AIRngr_SKL.AIRngr_RNA 30
AnimationMode = LOOP
Flags = RANDOMSTART
TransitionKey = TRANS_Move
ParticleSysBone = None InfantryDustTrails
End
AliasConditionState = MOVING ATTACKING
ConditionState = MOVING REALLYDAMAGED
Animation = AIRngr_SKL.AIRngr_RNB 30
AnimationMode = LOOP
Flags = RANDOMSTART
TransitionKey = TRANS_Move
End
AliasConditionState = MOVING REALLYDAMAGED ATTACKING
; --- dying anims
ConditionState = DYING
Animation = AIRngr_SKL.AIRngr_DTA
Animation = AIRngr_SKL.AIRngr_DTB
AnimationMode = ONCE
TransitionKey = None
End
TransitionState = TRANS_Dying TRANS_Flailing
Animation = AIRngr_SKL.AIRngr_ADTF1
AnimationMode = ONCE
End
ConditionState = DYING EXPLODED_FLAILING
Animation = AIRngr_SKL.AIRngr_ADTF2
AnimationMode = LOOP
TransitionKey = TRANS_Flailing
End
ConditionState = DYING EXPLODED_BOUNCING
Animation = AIRngr_SKL.AIRngr_ADTF3
AnimationMode = ONCE
TransitionKey = None
End
AliasConditionState = DYING SPLATTED
; --- cheering
ConditionState = SPECIAL_CHEERING
Animation = AIRngr_SKL.AIRngr_CHA
AnimationMode = LOOP
End
ConditionState = SPECIAL_CHEERING REALLYDAMAGED
Animation = AIRngr_SKL.AIRngr_CHB
AnimationMode = LOOP
End
; ----- PARACHUTING ANIMATIONS
ConditionState = FREEFALL
Animation = AIRngr_SKL.AIRngr_PFL
AnimationMode = LOOP
TransitionKey = TRANS_Falling
End
AliasConditionState = FREEFALL REALLYDAMAGED
AliasConditionState = FREEFALL DYING
ConditionState = PARACHUTING
Animation = AIRngr_SKL.AIRngr_PHG
AnimationMode = LOOP
Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first
TransitionKey = TRANS_Chute
End
AliasConditionState = PARACHUTING REALLYDAMAGED
AliasConditionState = PARACHUTING DYING
TransitionState = TRANS_Falling TRANS_Chute
Animation = AIRngr_SKL.AIRngr_POP
AnimationMode = ONCE
Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first
End
TransitionState = TRANS_Chute TRANS_Stand
Animation = AIRngr_SKL.AIRngr_PTD
AnimationMode = ONCE
End
TransitionState = TRANS_Chute TRANS_StandInjured
Animation = AIRngr_SKL.AIRngr_PTD
AnimationMode = ONCE
End
; ----- SURRENDER ANIMATIONS
; surrender is cut. sorry. (srj)
; ConditionState = SURRENDER
; Animation = AIRngr_SKL.AIRngr_SST
; AnimationMode = ONCE
; TransitionKey = TRANS_SurrenderKneeling
; End
; AliasConditionState = SURRENDER REALLYDAMAGED
; ConditionState = SURRENDER MOVING
; Animation = AIRngr_SKL.AIRngr_SWKB
; AnimationMode = ONCE
; TransitionKey = TRANS_SurrenderMoving
; End
; AliasConditionState = SURRENDER MOVING REALLYDAMAGED
; TransitionState = TRANS_Stand TRANS_SurrenderKneeling
; Animation = AIRngr_SKL.AIRngr_SUR
; AnimationMode = ONCE
; End
; ------- Bldg-capture
ConditionState = UNPACKING
Model = AIRngr_F_SKN
Animation = AIRngr_F_SKL.AIRngr_F_FDP1
AnimationMode = ONCE
End
AliasConditionState = UNPACKING REALLYDAMAGED
ConditionState = RAISING_FLAG
Model = AIRngr_F_SKN
Animation = AIRngr_F_SKL.AIRngr_F_FDP2
AnimationMode = ONCE
TransitionKey = TRANS_Raising
End
AliasConditionState = RAISING_FLAG REALLYDAMAGED
ConditionState = PACKING
Model = AIRngr_F_SKN
Animation = AIRngr_F_SKL.AIRngr_F_FDP1
AnimationMode = ONCE_BACKWARDS
Flags = START_FRAME_LAST
TransitionKey = TRANS_Packing
End
AliasConditionState = PACKING REALLYDAMAGED
TransitionState = TRANS_Raising TRANS_Packing
Model = AIRngr_F_SKN
Animation = AIRngr_F_SKL.AIRngr_F_FDP2
AnimationMode = ONCE_BACKWARDS
Flags = START_FRAME_LAST
End
; --- RAPPELLING ANIMATIONS
ConditionState = RAPPELLING
Animation = AIRngr_SKL.AIRngr_RPL1 ;30
AnimationMode = LOOP
Flags = RANDOMSTART
TransitionKey = TRANS_Rappelling
End
AliasConditionState = MOVING RAPPELLING
TransitionState = TRANS_Rappelling TRANS_Stand
Animation = AIRngr_SKL.AIRngr_RPL2
AnimationMode = ONCE
End
TransitionState = TRANS_Rappelling TRANS_StandInjured
Animation = AIRngr_SKL.AIRngr_RPL2
AnimationMode = ONCE
End
End
; ***DESIGN parameters ***
DisplayName = OBJECT:Ranger
Side = America
EditorSorting = INFANTRY
TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable)
WeaponSet
Conditions = None
Weapon = PRIMARY RangerAdvancedCombatRifle
End
WeaponSet
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY RangerAdvancedCombatRifle
Weapon = SECONDARY RangerFlashBangGrenadeWeapon
AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI
AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI
End
ArmorSet
Conditions = None
Armor = HumanArmor
DamageFX = InfantryDamageFX
End
VisionRange = 100
ShroudClearingRange = 400
Prerequisites
Object = AmericaBarracks
End
BuildCost = 225
BuildTime = 5.0 ;in seconds
ExperienceValue = 20 20 40 60 ;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 = AmericaInfantryRangerCommandSet
; *** AUDIO Parameters ***
VoiceSelect = RangerVoiceSelect
VoiceMove = RangerVoiceMove
VoiceGuard = RangerVoiceMove
VoiceAttack = RangerVoiceAttack
SoundDie = RangerVoiceDie
VoiceFear = RangerVoiceFear
; surrender is cut. sorry. (srj)
; VoiceSurrender = RangerVoiceSurrender
VoiceTaskComplete = RangerVoiceCaptureComplete
UnitSpecificSounds
VoiceEnter = RangerVoiceMove
VoiceEnterHostile = RangerVoiceMove
VoiceGarrison = RangerVoiceGarrison
VoiceCreate = RangerVoiceCreate
VoiceSubdue = RangerVoiceSubdue
VoiceClearBuilding = RangerVoiceClearBuilding
VoiceGetHealed = RangerVoiceMove
VoicePrimaryWeaponMode = RangerVoiceModeGun
VoiceSecondaryWeaponMode = RangerVoiceModeFlashBang
End
UnitSpecificFX
; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
CombatDropKillFX = FX_RangerCombatDropKill
End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY CAN_RAPPEL SCORE
Behavior = CommandButtonHuntUpdate ModuleTag_02
End
Body = ActiveBody ModuleTag_03
MaxHealth = 180.0
InitialHealth = 180.0
End
Behavior = ExperienceScalarUpgrade ModuleTag_04
TriggeredBy = Upgrade_AmericaAdvancedTraining
AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
End
Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba
ScanRate = 1000 ; once a second.
ScanRange = 300 ;
NeverHeal = 0.85 ; don't heal if we are > 85% healthy.
AlwaysHeal = 0.25 ; if we get below 25%, find healing right away.
End
Behavior = AIUpdateInterface ModuleTag_06
AutoAcquireEnemiesWhenIdle = Yes
End
Locomotor = SET_NORMAL BasicHumanLocomotor
Behavior = PhysicsBehavior ModuleTag_07
Mass = 5.0
End
Behavior = ProductionUpdate ModuleTag_08
; nothing
End
Behavior = CommandButtonHuntUpdate ModuleTag_09 ; allows use of command button hunt script with this unit.
End
Behavior = WeaponSetUpgrade ModuleTag_10
TriggeredBy = Upgrade_AmericaRangerFlashBangGrenade
End
; --- begin Death modules ---
Behavior = SlowDeathBehavior ModuleTag_Death01
DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_GIDie
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
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_GIDie
FlingForce = 8
FlingForceVariance = 3
FlingPitch = 60
FlingPitchVariance = 10
End
Behavior = SlowDeathBehavior ModuleTag_Death04
DeathTypes = NONE +BURNED
DestructionDelay = 0
FX = INITIAL FX_GIDie
OCL = INITIAL OCL_FlamingInfantry
End
Behavior = SlowDeathBehavior ModuleTag_Death05
DeathTypes = NONE +POISONED
DestructionDelay = 0
FX = INITIAL FX_GIDie
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_GIDie
OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
End
; --- end Death modules ---
Behavior = SquishCollide ModuleTag_12
;nothing
End
Behavior = PoisonedBehavior ModuleTag_17
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_18
SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding
UpdateModuleStartsAttack = Yes
StartsPaused = Yes ; Unpaused by upgrade module
InitiateSound = RangerVoiceCapture
End
Behavior = SpecialAbilityUpdate ModuleTag_19
SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding
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 = 15
;SkillPointsForTriggering = ??? -- Dustin, fill me out if you want different balance values.
End
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_20
SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding
TriggeredBy = Upgrade_InfantryCaptureBuilding
End
Geometry = CYLINDER
GeometryMajorRadius = 7.0
GeometryMinorRadius = 7.0
GeometryHeight = 13.0
GeometryIsSmall = Yes
Shadow = SHADOW_DECAL
ShadowSizeX = 14;
ShadowSizeY = 14;
ShadowTexture = ShadowI;
BuildCompletion = APPEARS_AT_RALLY_POINT
End
;------------------------------------------------------------------------------
Object CINE_AmericaInfantryRanger
; *** ART Parameters ***
SelectPortrait = SARanger_L
ButtonImage = SARanger
UpgradeCameo1 = Upgrade_AmericaRangerFlashBangGrenade
UpgradeCameo2 = Upgrade_AmericaAdvancedTraining
;UpgradeCameo3 = NONE
;UpgradeCameo4 = NONE
;UpgradeCameo5 = NONE
Draw = W3DModelDraw ModuleTag_01
OkToChangeModelColor = Yes
; --- Idle
DefaultConditionState
Model = AIRngr_SKN
IdleAnimation = AIRngr_SKL.AIRngr_STA 0 35
IdleAnimation = AIRngr_SKL.AIRngr_IDA
IdleAnimation = AIRngr_SKL.AIRngr_IDB
AnimationMode = ONCE
WeaponFireFXBone = PRIMARY Muzzle
WeaponMuzzleFlash = PRIMARY MuzzleFX
WeaponFireFXBone = SECONDARY Muzzle
WeaponLaunchBone = SECONDARY Muzzle
TransitionKey = TRANS_Stand
End
ConditionState = REALLYDAMAGED
IdleAnimation = AIRngr_SKL.AIRngr_STB 0 35
IdleAnimation = AIRngr_SKL.AIRngr_IDC
IdleAnimation = AIRngr_SKL.AIRngr_IDD
AnimationMode = ONCE
TransitionKey = TRANS_StandInjured
End
TransitionState = TRANS_Stand TRANS_StandInjured
Animation = AIRngr_SKL.AIRngr_SA2SB
AnimationMode = ONCE
End
; --- attacking (Machine Gun)
ConditionState = FIRING_A
Animation = AIRngr_SKL.AIRngr_ATA
AnimationMode = LOOP
TransitionKey = TRANS_FiringA
End
AliasConditionState = BETWEEN_FIRING_SHOTS_A
AliasConditionState = RELOADING_A
ConditionState = FIRING_A REALLYDAMAGED
Animation = AIRngr_SKL.AIRngr_ATA2
AnimationMode = LOOP
TransitionKey = TRANS_FiringAInjured
End
AliasConditionState = BETWEEN_FIRING_SHOTS_A REALLYDAMAGED
AliasConditionState = RELOADING_A REALLYDAMAGED
AliasConditionState = MOVING FIRING_A
AliasConditionState = MOVING BETWEEN_FIRING_SHOTS_A
AliasConditionState = MOVING RELOADING_A
TransitionState = TRANS_FiringA TRANS_FiringAInjured
Animation = AIRngr_SKL.AIRngr_A2WAA
AnimationMode = ONCE
End
TransitionState = TRANS_Stand TRANS_FiringA
Animation = AIRngr_SKL.AIRngr_ATAST
AnimationMode = ONCE
AnimationSpeedFactorRange = 4 4
End
TransitionState = TRANS_FiringA TRANS_Stand
Animation = AIRngr_SKL.AIRngr_ATAED
AnimationMode = ONCE
AnimationSpeedFactorRange = 4 4
End
TransitionState = TRANS_StandInjured TRANS_FiringAInjured
Animation = AIRngr_SKL.AIRngr_S2WAA
AnimationMode = ONCE
AnimationSpeedFactorRange = 4 4
End
TransitionState = TRANS_FiringAInjured TRANS_StandInjured
Animation = AIRngr_SKL.AIRngr_WAA2S
AnimationMode = ONCE
AnimationSpeedFactorRange = 4 4
End
; --- attacking (Grenade Launcher)
ConditionState = PREATTACK_B
Animation = AIRngr_SKL.AIRngr_ATBA
AnimationMode = ONCE
TransitionKey = TRANS_FiringB
End
AliasConditionState = PREATTACK_B MOVING
AliasConditionState = PREATTACK_B FIRING_B
AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B
ConditionState = FIRING_B
Animation = AIRngr_SKL.AIRngr_ATBB
AnimationMode = ONCE
TransitionKey = TRANS_FiringB
End
ConditionState = BETWEEN_FIRING_SHOTS_B
Animation = AIRngr_SKL.AIRngr_ATBB
AnimationMode = MANUAL
Flags = START_FRAME_LAST
TransitionKey = TRANS_FiringB
WaitForStateToFinishIfPossible = TRANS_FiringB
End
AliasConditionState = RELOADING_B
TransitionState = TRANS_Stand TRANS_FiringB
Animation = AIRngr_SKL.AIRngr_ATBST1
AnimationMode = ONCE
End
TransitionState = TRANS_FiringB TRANS_Stand
Animation = AIRngr_SKL.AIRngr_ATBST2
AnimationMode = ONCE
End
ConditionState = PREATTACK_B REALLYDAMAGED
Animation = AIRngr_SKL.AIRngr_ATB2A
AnimationMode = ONCE
TransitionKey = TRANS_FiringBInjured
End
AliasConditionState = PREATTACK_B MOVING REALLYDAMAGED
AliasConditionState = PREATTACK_B FIRING_B REALLYDAMAGED
AliasConditionState = PREATTACK_B BETWEEN_FIRING_SHOTS_B REALLYDAMAGED
ConditionState = FIRING_B REALLYDAMAGED
Animation = AIRngr_SKL.AIRngr_ATB2B
AnimationMode = ONCE
TransitionKey = TRANS_FiringBInjured
End
ConditionState = BETWEEN_FIRING_SHOTS_B REALLYDAMAGED
Animation = AIRngr_SKL.AIRngr_ATB2B
AnimationMode = MANUAL
Flags = START_FRAME_LAST
TransitionKey = TRANS_FiringBInjured
WaitForStateToFinishIfPossible = TRANS_FiringBInjured
End
AliasConditionState = RELOADING_B REALLYDAMAGED
TransitionState = TRANS_StandInjured TRANS_FiringBInjured
Animation = AIRngr_SKL.AIRngr_ATB2ST1
AnimationMode = ONCE
End
TransitionState = TRANS_FiringBInjured TRANS_StandInjured
Animation = AIRngr_SKL.AIRngr_ATB2ST2
AnimationMode = ONCE
End
; -- cross-attack transitions
TransitionState = TRANS_FiringA TRANS_FiringB
Animation = AIRngr_SKL.AIRngr_ATA2AB
AnimationMode = ONCE
AnimationSpeedFactorRange = 4 4
End
TransitionState = TRANS_FiringB TRANS_FiringA
Animation = AIRngr_SKL.AIRngr_ATA2AB
AnimationMode = ONCE_BACKWARDS
AnimationSpeedFactorRange = 4 4
End
; --- moving
ConditionState = MOVING
Animation = AIRngr_SKL.AIRngr_RNA 40
AnimationMode = LOOP
Flags = RANDOMSTART
TransitionKey = None
ParticleSysBone = None InfantryDustTrails
End
ConditionState = MOVING REALLYDAMAGED
Animation = AIRngr_SKL.AIRngr_RNB 30
AnimationMode = LOOP
Flags = RANDOMSTART
TransitionKey = None
End
; --- dying anims
ConditionState = DYING
Animation = AIRngr_SKL.AIRngr_DTA
Animation = AIRngr_SKL.AIRngr_DTB
AnimationMode = ONCE
TransitionKey = None
End
TransitionState = TRANS_Dying TRANS_Flailing
Animation = AIRngr_SKL.AIRngr_ADTF1
AnimationMode = ONCE
End
ConditionState = DYING EXPLODED_FLAILING
Animation = AIRngr_SKL.AIRngr_ADTF2
AnimationMode = LOOP
TransitionKey = TRANS_Flailing
End
ConditionState = DYING EXPLODED_BOUNCING
Animation = AIRngr_SKL.AIRngr_ADTF3
AnimationMode = ONCE
TransitionKey = None
End
AliasConditionState = DYING SPLATTED
; --- cheering
ConditionState = SPECIAL_CHEERING
Animation = AIRngr_SKL.AIRngr_CHA
AnimationMode = LOOP
End
ConditionState = SPECIAL_CHEERING REALLYDAMAGED
Animation = AIRngr_SKL.AIRngr_CHB
AnimationMode = LOOP
End
; ----- PARACHUTING ANIMATIONS
ConditionState = FREEFALL
Animation = AIRngr_SKL.AIRngr_PFL
AnimationMode = LOOP
TransitionKey = TRANS_Falling
End
AliasConditionState = FREEFALL REALLYDAMAGED
AliasConditionState = FREEFALL DYING
ConditionState = PARACHUTING
Animation = AIRngr_SKL.AIRngr_PHG
AnimationMode = LOOP
Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first
TransitionKey = TRANS_Chute
End
AliasConditionState = PARACHUTING REALLYDAMAGED
AliasConditionState = PARACHUTING DYING
TransitionState = TRANS_Falling TRANS_Chute
Animation = AIRngr_SKL.AIRngr_POP
AnimationMode = ONCE
Flags = PRISTINE_BONE_POS_IN_FINAL_FRAME ; our bone positions should come from the last frame, rather than the first
End
TransitionState = TRANS_Chute TRANS_Stand
Animation = AIRngr_SKL.AIRngr_PTD
AnimationMode = ONCE
End
TransitionState = TRANS_Chute TRANS_StandInjured
Animation = AIRngr_SKL.AIRngr_PTD
AnimationMode = ONCE
End
; ----- SURRENDER ANIMATIONS
; surrender is cut. sorry. (srj)
; ConditionState = SURRENDER
; Animation = AIRngr_SKL.AIRngr_SST
; AnimationMode = ONCE
; TransitionKey = TRANS_SurrenderKneeling
; End
; AliasConditionState = SURRENDER REALLYDAMAGED
; ConditionState = SURRENDER MOVING
; Animation = AIRngr_SKL.AIRngr_SWKB
; AnimationMode = ONCE
; TransitionKey = TRANS_SurrenderMoving
; End
; AliasConditionState = SURRENDER MOVING REALLYDAMAGED
; TransitionState = TRANS_Stand TRANS_SurrenderKneeling
; Animation = AIRngr_SKL.AIRngr_SUR
; AnimationMode = ONCE
; End
; ------- Bldg-capture
ConditionState = UNPACKING
Model = AIRngr_F_SKN
Animation = AIRngr_F_SKL.AIRngr_F_FDP1
AnimationMode = ONCE
End
AliasConditionState = UNPACKING REALLYDAMAGED
ConditionState = RAISING_FLAG
Model = AIRngr_F_SKN
Animation = AIRngr_F_SKL.AIRngr_F_FDP2
AnimationMode = ONCE
TransitionKey = TRANS_Raising
End
AliasConditionState = RAISING_FLAG REALLYDAMAGED
ConditionState = PACKING
Model = AIRngr_F_SKN
Animation = AIRngr_F_SKL.AIRngr_F_FDP1
AnimationMode = ONCE_BACKWARDS
Flags = START_FRAME_LAST
TransitionKey = TRANS_Packing
End
AliasConditionState = PACKING REALLYDAMAGED
TransitionState = TRANS_Raising TRANS_Packing
Model = AIRngr_F_SKN
Animation = AIRngr_F_SKL.AIRngr_F_FDP2
AnimationMode = ONCE_BACKWARDS
Flags = START_FRAME_LAST
End
; --- RAPPELLING ANIMATIONS
ConditionState = RAPPELLING
Animation = AIRngr_SKL.AIRngr_RPL1 ;30
AnimationMode = LOOP
Flags = RANDOMSTART
TransitionKey = TRANS_Rappelling
End
AliasConditionState = MOVING RAPPELLING
TransitionState = TRANS_Rappelling TRANS_Stand
Animation = AIRngr_SKL.AIRngr_RPL2
AnimationMode = ONCE
End
TransitionState = TRANS_Rappelling TRANS_StandInjured
Animation = AIRngr_SKL.AIRngr_RPL2
AnimationMode = ONCE
End
End
; ***DESIGN parameters ***
DisplayName = OBJECT:Ranger
Side = America
EditorSorting = INFANTRY
TransportSlotCount = 1 ;how many "slots" we take in a transport (0 == not transportable)
WeaponSet
Conditions = None
Weapon = PRIMARY CINE_RangerAdvancedCombatRifle
End
WeaponSet
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY RangerAdvancedCombatRifle
Weapon = SECONDARY RangerFlashBangGrenadeWeapon
AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI
AutoChooseSources = SECONDARY FROM_SCRIPT FROM_AI
End
ArmorSet
Conditions = None
Armor = HumanArmor
DamageFX = InfantryDamageFX
End
VisionRange = 100
ShroudClearingRange = 400
Prerequisites
Object = AmericaBarracks
End
BuildCost = 225
BuildTime = 5.0 ;in seconds
ExperienceValue = 20 20 40 60 ;Experience point value at each level
ExperienceRequired = 0 20 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 = AmericaInfantryRangerCommandSet
; *** AUDIO Parameters ***
VoiceSelect = RangerVoiceSelect
VoiceMove = RangerVoiceMove
VoiceGuard = RangerVoiceMove
VoiceAttack = RangerVoiceAttack
SoundDie = RangerVoiceDie
VoiceFear = RangerVoiceFear
; surrender is cut. sorry. (srj)
; VoiceSurrender = RangerVoiceSurrender
VoiceTaskComplete = RangerVoiceCaptureComplete
UnitSpecificSounds
VoiceEnter = RangerVoiceMove
VoiceEnterHostile = RangerVoiceMove
VoiceGarrison = RangerVoiceGarrison
VoiceCreate = RangerVoiceCreate
VoiceSubdue = RangerVoiceSubdue
VoiceClearBuilding = RangerVoiceClearBuilding
VoiceGetHealed = RangerVoiceMove
End
UnitSpecificFX
; These have the syntax of SomeNameSomewhereInCode = SomeNameSomewhereInLookupINIs
CombatDropKillFX = FX_RangerCombatDropKill
End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAN_CAST_REFLECTIONS INFANTRY CAN_RAPPEL SCORE
Behavior = CommandButtonHuntUpdate ModuleTag_02
End
Body = ActiveBody ModuleTag_03
MaxHealth = 180.0
InitialHealth = 180.0
End
Behavior = ExperienceScalarUpgrade ModuleTag_04
TriggeredBy = Upgrade_AmericaAdvancedTraining
AddXPScalar = 1.0 ;Increases experience gained by an additional 100%
End
Behavior = AutoFindHealingUpdate ModuleTag_05 ; This update will have the unit go to a healing station if injured. jba
ScanRate = 1000 ; once a second.
ScanRange = 300 ;
NeverHeal = 0.85 ; don't heal if we are > 85% healthy.
AlwaysHeal = 0.25 ; if we get below 25%, find healing right away.
End
Behavior = AIUpdateInterface ModuleTag_06
AutoAcquireEnemiesWhenIdle = Yes
End
Locomotor = SET_NORMAL BasicHumanLocomotor
Behavior = PhysicsBehavior ModuleTag_07
Mass = 5.0
End
Behavior = ProductionUpdate ModuleTag_08
; nothing
End
Behavior = CommandButtonHuntUpdate ModuleTag_09 ; allows use of command button hunt script with this unit.
End
Behavior = WeaponSetUpgrade ModuleTag_10
TriggeredBy = Upgrade_AmericaRangerFlashBangGrenade
End
; --- begin Death modules ---
Behavior = SlowDeathBehavior ModuleTag_Death01
DeathTypes = ALL -CRUSHED -SPLATTED -EXPLODED -BURNED -POISONED -POISONED_BETA
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_GIDie
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
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 8000
FX = INITIAL FX_GIDie
FlingForce = 8
FlingForceVariance = 3
FlingPitch = 60
FlingPitchVariance = 10
End
Behavior = SlowDeathBehavior ModuleTag_Death04
DeathTypes = NONE +BURNED
DestructionDelay = 0
FX = INITIAL FX_GIDie
OCL = INITIAL OCL_FlamingInfantry
End
Behavior = SlowDeathBehavior ModuleTag_Death05
DeathTypes = NONE +POISONED
DestructionDelay = 0
FX = INITIAL FX_GIDie
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_GIDie
OCL = INITIAL OCL_ToxicInfantryBeta ;you'll have to create this OCL and make it use the blue guys instead of green ones
End
; --- end Death modules ---
Behavior = SquishCollide ModuleTag_12
;nothing
End
Behavior = PoisonedBehavior ModuleTag_17
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_18
SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding
UpdateModuleStartsAttack = Yes
StartsPaused = Yes ; Unpaused by upgrade module
InitiateSound = RangerVoiceCapture
End
Behavior = SpecialAbilityUpdate ModuleTag_19
SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding
StartAbilityRange = 5.0
UnpackTime = 3000 ; (changing this will scale anim speed)
PreparationTime = 10000 ; time to complete hack once prepared (changing this will scale anim speed)
PackTime = 2000 ; (changing this will scale anim speed)
DoCaptureFX = Yes
End
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_20
SpecialPowerTemplate = SpecialAbilityRangerCaptureBuilding
TriggeredBy = Upgrade_InfantryCaptureBuilding
End
Geometry = CYLINDER
GeometryMajorRadius = 7.0
GeometryMinorRadius = 7.0
GeometryHeight = 13.0
GeometryIsSmall = Yes
Shadow = SHADOW_DECAL
ShadowSizeX = 14;
ShadowSizeY = 14;
ShadowTexture = ShadowI;
BuildCompletion = APPEARS_AT_RALLY_POINT
End
|
|
|
|
03-02-2003, 09:13 PM
|
#16 (permalink)
|
|
Member
Join Date: Feb 2003
Location: not really shure
Posts: 74
|
Quote:
People can look it up themselves!
|
Well, the more I look into this forum, the more I'm seeing that a lot of people just dont try to do something useful, always waiting for someone else to do it, then do it themselves.
|
|
|
03-02-2003, 10:04 PM
|
#17 (permalink)
|
|
Senior Member
Join Date: Jan 2003
Location: Santa Barbara
Posts: 107
|
Hmm, why do you want to post the codes here?
Thanks for all who replied, although I still haven't been able to produce what I want. The nuclear tank upgrade is a global player_upgrade thing while the Ranger switch weapon is an individual switch weapon.
If a switch of locomotor through individual switch of weapon looks unlikely maybe I will look into some global upgrade of all units, which might be more probable.
|
|
|
03-03-2003, 04:35 AM
|
#18 (permalink)
|
|
Senior Member
Join Date: Sep 2001
Posts: 734
|
Chrono,
Why don't you have a closer look at the Aurorabomber ?
Although it is not entirely the same thing you want, it does switch locomotor when using weapons...
|
|
|
03-03-2003, 12:53 PM
|
#19 (permalink)
|
|
Senior Member
Join Date: Dec 2002
Posts: 1,031
|
Kornlord, please remove the codes, as it adds nothing of value to this post.
And Chrono, you have to combine the two upgrades, locomoter and weapons settings.
Hint. For the module that adds the weapon, you could try to add the locomoter?
|
|
|
03-03-2003, 08:33 PM
|
#20 (permalink)
|
|
Senior Member
Join Date: Jan 2003
Location: Santa Barbara
Posts: 107
|
Hmm, I have been working on this, and this is what I got now. (And I have successfully created a mid game crash whenever the infantry with the problem is trained)
I made the locomotor and weapon upgrade modules triggered by the same upgrade, and then that upgrade is only for OBJECT nor PLAYER. Therefore now what I have got is when you trained an infantry, it runs fast but does not have a weapon. When you upgrade them individually to 'arm the weapon', they will be able to fire and their speed will slow down.
Now I am thinking of how to make it return to the original state (no weapon, good speed). Switching weapon like the Ranger didn't work for me because the locomotor and weapon sets upgrade needs to be triggered by an upgrade, not a command (if you make it a command the game crashes when the infantry is trained).
Hmm .. :S
I am looking at some way to remove an upgrade, or to switch back the weapon while changing the locomotor. I might look into the the OCL way (let the created object fires the weapon for you after upgraded), but I don't see how an object can be removed by another upgrade either?
|
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 08:20 AM.
|