Hi everyone,
I added an unit to the code with his own model and skeleton, but when i'm in game the unit is invisible.
The Object.ini of the unit (i didn't make it an horde consciously):
Spoiler
Object HobbitMilitia
// *** ART Parameters ***
SelectPortrait = UPGondor_Soldier
ButtonImage = WOR_GondorSoldier
Draw = W3DHordeModelDraw ModuleTag_01
OkToChangeModelColor = Yes
StaticModelLODMode = Yes
// specify options for static LODs
LodOptions = LOW
AllowMultipleModels = ALLOW_MULTIPLE_MODELS_LOW
MaxRandomTextures = MAX_RANDOM_TEXTURES_LOW
MaxRandomAnimations = MAX_RANDOM_ANIMATIONS_LOW
MaxAnimFrameDelta = MAX_ANIM_FRAME_DELTA_LOW
End
LodOptions = MEDIUM
AllowMultipleModels = ALLOW_MULTIPLE_MODELS_MED
MaxRandomTextures = MAX_RANDOM_TEXTURES_MED
MaxRandomAnimations = MAX_RANDOM_ANIMATIONS_MED
MaxAnimFrameDelta = MAX_ANIM_FRAME_DELTA_MED
End
LodOptions = HIGH
AllowMultipleModels = ALLOW_MULTIPLE_MODELS_HIGH
MaxRandomTextures = MAX_RANDOM_TEXTURES_HIGH
MaxRandomAnimations = MAX_RANDOM_ANIMATIONS_HIGH
MaxAnimFrameDelta = MAX_ANIM_FRAME_DELTA_HIGH
End
WadingParticleSys = WaterRipplesTrail // used when the unit is wading in shallow water.
//================ MODELS =================================================================
DefaultModelConditionState
Model = HUMilitia_SKN
Skeleton = RUFrodo_SKL
End
//=============== ANIMATIONS ===============================================================
//======= FALLING & FLYING
AnimationState = PASSENGER
Animation = Grabbed
AnimationName = GUMAArms_FLLA
AnimationMode = LOOP
End
End
AnimationState = THROWN_PROJECTILE
Animation = FlyA
AnimationName = GUMAARMS_FLYA
AnimationMode = LOOP
End
Animation = FlyB
AnimationName = GUMAARMS_FLYB
AnimationMode = LOOP
End
Animation = FlyC
AnimationName = GUMAARMS_FLYC
AnimationMode = LOOP
End
Animation = FlyD
AnimationName = GUMAARMS_FLYD
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
AnimationState = FREEFALL
Animation = Falling
AnimationName = GUMAArms_FLYD
AnimationMode = LOOP
AnimationBlendTime = 10
End
Animation = Falling
AnimationName = GUMAArms_FLYC
AnimationMode = LOOP
AnimationBlendTime = 10
AnimationSpeedFactorRange = 0.5 0.5
End
End
AnimationState = STUNNED_FLAILING
Animation = FlyA
AnimationName = GUMAARMS_FLYA
AnimationMode = LOOP
AnimationSpeedFactorRange = 0.4 0.6
End
Animation = FlyB
AnimationName = GUMAARMS_FLYB
AnimationMode = LOOP
AnimationSpeedFactorRange = 0.4 0.6
End
Animation = FlyC
AnimationName = GUMAARMS_FLYC
AnimationMode = LOOP
AnimationSpeedFactorRange = 0.4 0.6
End
Animation = FlyD
AnimationName = GUMAARMS_FLYD
AnimationMode = LOOP
AnimationSpeedFactorRange = 0.4 0.6
End
Flags = RANDOMSTART
End
AnimationState = DYING BURNINGDEATH
Animation
AnimationName = GUManMocap_DIEB
AnimationMode = ONCE
AnimationBlendTime = 10
End
Animation
AnimationName = GUManMocap_DIEC
AnimationMode = ONCE
AnimationBlendTime = 10
End
Animation
AnimationName = GUManMocap_DIED
AnimationMode = ONCE
AnimationBlendTime = 10
End
Animation
AnimationName = GUManMocap_DIEE
AnimationMode = ONCE
AnimationBlendTime = 10
End
End
AnimationState = DYING SPLATTED
Animation = Splatted_On_Ground
AnimationName = GUMAARMS_LNDA
AnimationMode = ONCE
End
EnteringStateFX = FX_OrcHitGround
End
AnimationState = DYING AFLAME
Animation = MFDA
AnimationName = GUManMocap_MFDA
AnimationMode = LOOP
End
End
AnimationState = DYING
//Animation = DIEA
// AnimationName = GUManMocap_DIEA
// AnimationMode = ONCE
//End
Animation = DIEB
AnimationName = GUManMocap_DIEB
AnimationMode = ONCE
End
Animation = DIEC
AnimationName = GUManMocap_DIEC
AnimationMode = ONCE
End
Animation = DIED
AnimationName = GUManMocap_DIED
AnimationMode = ONCE
End
Animation = DIEE
AnimationName = GUManMocap_DIEE
AnimationMode = ONCE
End
End
AnimationState = BURNINGDEATH
Animation
AnimationName = GUManMocap_MFDA
AnimationMode = LOOP
Distance = 50
End
End
AnimationState = PARALYZED
Animation
AnimationName = GUManMocap_IDLB
AnimationMode = LOOP
End
End
//======= LANDING & STANDING
AnimationState = STUNNED_STANDING_UP
Animation = GTPA
AnimationName = GUMAArms_GTPA
AnimationMode = ONCE
AnimationSpeedFactorRange = 2.0 2.0
End
Animation = GTPB
AnimationName = GUMAArms_GTPD
AnimationMode = ONCE
AnimationSpeedFactorRange = 2.0 2.0
End
End
AnimationState = STUNNED
Animation = Slatted_On_Ground
AnimationName = GUMAARMS_LNDA
AnimationMode = ONCE
End
EnteringStateFX = FX_OrcHitGround
End
AnimationState = MOVING FIRING_OR_PREATTACK_A
ShareAnimation = Yes
Animation = RunAndFire
AnimationName = GUManMocap_ATRA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
//====== TERROR
AnimationState = MOVING EMOTION_TERROR EMOTION_LOOK_TO_SKY
//@@@KM Add distance
Animation = TerrorFromTheSky
AnimationName = GUManMocap_RUND
AnimationMode = LOOP
End
Animation = TerrorFromTheSky
AnimationName = GUManMocap_RUNE
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
AnimationState = MOVING EMOTION_TERROR
//@@@KM Add distance
Animation = TerrorFromTheSky
AnimationName = GUManMocap_RUND
AnimationMode = ONCE
End
Animation = TerrorFromTheSky
AnimationName = GUManMocap_RUNE
AnimationMode = ONCE
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End
//======= BACK UP
AnimationState = MOVING BACKING_UP
//@@@KM Add distance
Animation = BAKA
AnimationName = GUManMocap_BAKA
AnimationMode = LOOP
End
Animation = BAKB
AnimationName = GUManMocap_BAKB
AnimationMode = LOOP
End
Animation = BAKC
AnimationName = GUManMocap_BAKC
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
AnimationState = MOVING PANICKING
//@@@KM - Add Distance
Animation = MFDA
AnimationName = GUManMocap_MFDA
AnimationMode = LOOP
End
Flags = RANDOMSTART
//ParticleSysBone = None InfantryDustTrails
End
AnimationState = MOVING ATTACKING
ShareAnimation = Yes//
Animation = RUNA
AnimationName = GUManMocap_RUNA
AnimationMode = LOOP
Distance = 25
End
Flags = RANDOMSTART
//ParticleSysBone = None InfantryDustTrails
End
AnimationState = MOVING ALTERNATE_FORMATION
Animation
AnimationName = GUMAArms_SPCA
AnimationMode = LOOP
Distance = 20
End
Flags = RANDOMSTART
End
AnimationState = MOVING
//@@@KM - Add Distance
ShareAnimation = Yes//
Animation = RUNB
AnimationName = GUManMocap_RUNB
AnimationMode = LOOP
Distance = 30
End
Animation = RUNC
AnimationName = GUManMocap_RUNC
AnimationMode = LOOP
Distance = 30
End
Flags = RANDOMSTART
//ParticleSysBone = None InfantryDustTrails
End
//======= UNCONTROLLABLY AFRAID
// This is before Attacking so it overrides it. Normal fear is below so you don't go to little-fear in between swings.
AnimationState = EMOTION_UNCONTROLLABLY_AFRAID
Animation = FERA
AnimationName = GUManMocap_FERA
AnimationMode = LOOP
End
Animation = FERB
AnimationName = GUManMocap_FERB
AnimationMode = LOOP
End
Animation = FERC
AnimationName = GUManMocap_FERC
AnimationMode = LOOP
End
Animation = FERD
AnimationName = GUManMocap_FERD
AnimationMode = LOOP
End
Animation = FERE
AnimationName = GUManMocap_FERE
AnimationMode = LOOP
End
Animation = FERF
AnimationName = GUManMocap_FERF
AnimationMode = LOOP
End
End
//---------------------- ATTACKING ----------------------------------------------------------------
AnimationState = FIRING_OR_PREATTACK_A
Animation = ATA1
AnimationName = GUManMocap_ATKA
AnimationMode = ONCE
UseWeaponTiming = Yes
End
//ParticleSysBone = None MeleeDust
End
;AnimationState = ATTACKING
; Animation = ALERT_1
; AnimationName = GUManMocap_IDLA
; AnimationMode = LOOP
; End
;End
//----------------- HIT REACTIONS -------------------------------------------------------------------------
; AnimationState = HIT_REACTION
//Animation = HITA
// AnimationName = GUManMocap_HITA
// AnimationMode = ONCE
//End
; Animation = HITB
; AnimationName = GUManMocap_HITB
; AnimationMode = ONCE
; End
; End
//----------------- EMOTIONS ----------------------------------------------------------------
//======= APPREHENSIVE
AnimationState = EMOTION_ALERT EMOTION_AFRAID
Animation = APPA
AnimationName = GUManMocap_APPA
AnimationMode = ONCE
End
Animation = APPB
AnimationName = GUManMocap_APPB
AnimationMode = ONCE
End
Flags = RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
End
//======= AFRAID
AnimationState = EMOTION_AFRAID
Animation = FERA
AnimationName = GUManMocap_FERA
AnimationMode = LOOP
End
Animation = FERB
AnimationName = GUManMocap_FERB
AnimationMode = LOOP
End
Animation = FERC
AnimationName = GUManMocap_FERC
AnimationMode = LOOP
End
Animation = FERD
AnimationName = GUManMocap_FERD
AnimationMode = LOOP
End
Animation = FERE
AnimationName = GUManMocap_FERE
AnimationMode = LOOP
End
Animation = FERF
AnimationName = GUManMocap_FERF
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
//======== POINTING
AnimationState = EMOTION_POINTING
Animation = Pointing1
AnimationName = GUManMocap_RCTA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
//======= TAUNTING
AnimationState = EMOTION_TAUNTING
Animation = Taunting1
AnimationName = GUManMocap_TNTA
AnimationMode = ONCE
End
Animation = Taunting2
AnimationName = GUManMocap_TNTB
AnimationMode = ONCE
End
Animation = Taunting3
AnimationName = GUManMocap_TNTC
AnimationMode = ONCE
End
Animation = Taunting4
AnimationName = GUManMocap_IDLC
AnimationMode = ONCE
End
Animation = Taunting5
AnimationName = GUManMocap_IDLA
AnimationMode = ONCE
End
Animation = Taunting6
AnimationName = GUManMocap_IDLH
AnimationMode = ONCE
End
Flags = RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
End
//======= CELEBRATING
AnimationState = EMOTION_CELEBRATING
Animation = CHRB
AnimationName = GUManMocap_CHRB
AnimationMode = ONCE
End
Animation = CHRC
AnimationName = GUManMocap_CHRC
AnimationMode = ONCE
End
Animation = IDLD
AnimationName = GUManMocap_IDLD
AnimationMode = ONCE
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End
//----------------- ALERT STATE ---------------------------------------------------------------------------
AnimationState = ATTACKING
Animation = ALERT_1
AnimationName = GUManMocap_IDLA
AnimationMode = LOOP
End
End
AnimationState = EMOTION_ALERT
Animation = ALERT_1
AnimationName = GUManMocap_IDLA
AnimationMode = LOOP//ONCE
AnimationPriority = 10
End
Flags = RESTART_ANIM_WHEN_COMPLETE // acts like an idle animation & keeps running the animations.
End
AnimationState = RAISING_FLAG
Animation = CHRB
AnimationName = GUManMocap_CHRB
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.1
End
Animation = CHRC
AnimationName = GUManMocap_CHRC
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.1
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End
//----------------- SELECTED STATES -----------------------------------------------------------------------
AnimationState = SELECTED
StateName = STATE_Selected
Animation = ATNB
AnimationName = GUManMocap_ATNB
AnimationMode = LOOP
End
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "STATE_Idle"
then
CurDrawableSetTransitionAnimState("TRANS_IdleToSelected")
end
if CurDrawableModelcondition("ATTACKING")
then
return "IDLA"
else
return "ATNA"
end
EndScript
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "STATE_Idle" then CurDrawableSetTransitionAnimState("TRANS_IdleToSelected") end
EndScript
End
//----------------- IDLE STATES ---------------------------------------------------------------------------
AnimationState = WEAPONSET_PLAYER_UPGRADE
StateName = STATE_Idle
Animation = IDLI
AnimationName = GUManMocap_IDLH
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.1
End
Animation = IDLD
AnimationName = GUManMocap_IDLD
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.1
End
Animation = IDLH
AnimationName = GUManMocap_IDLH
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.1
End
Animation = CHRB
AnimationName = GUManMocap_CHRB
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.1
End
Animation = CHRC
AnimationName = GUManMocap_CHRC
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.1
End
Flags = RESTART_ANIM_WHEN_COMPLETE
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "STATE_Selected" then CurDrawableSetTransitionAnimState("TRANS_SelectedToIdle") end
EndScript
End
AnimationState = USER_3
StateName = STATE_User_3
Animation = GUARD_STANCE
AnimationName = GUManMocap_IDLA
AnimationMode = LOOP
End
End
IdleAnimationState
StateName = STATE_Idle
Animation = IDLB
AnimationName = GUManMocap_IDLB
AnimationMode = ONCE
AnimationPriority = 20
AnimationSpeedFactorRange = 0.9 1.1
AnimationBlendTime = 15
End
Animation = IDLF
AnimationName = GUManMocap_IDLF
AnimationMode = ONCE
AnimationPriority = 1
AnimationSpeedFactorRange = 0.9 1.1
AnimationBlendTime = 15
End
Animation = IDLG
AnimationName = GUManMocap_IDLG
AnimationMode = ONCE
AnimationPriority = 1
AnimationSpeedFactorRange = 0.9 1.1
AnimationBlendTime = 15
End
Animation = IDLJ
AnimationName = GUManMocap_IDLJ
AnimationMode = ONCE
AnimationPriority = 1
AnimationSpeedFactorRange = 0.9 1.1
AnimationBlendTime = 15
End
Animation = IDLK
AnimationName = GUManMocap_IDLK
AnimationMode = ONCE
AnimationPriority = 1
AnimationSpeedFactorRange = 0.9 1.1
AnimationBlendTime = 15
End
Animation = IDLL
AnimationName = GUManMocap_IDLL
AnimationMode = ONCE
AnimationPriority = 1
AnimationSpeedFactorRange = 0.9 1.1
AnimationBlendTime = 15
End
Animation = IDLN
AnimationName = GUManMocap_IDLN
AnimationMode = ONCE
AnimationPriority = 1
AnimationSpeedFactorRange = 0.9 1.1
AnimationBlendTime = 15
End
Animation = IDLO
AnimationName = GUManMocap_IDLO
AnimationMode = ONCE
AnimationPriority = 1
AnimationSpeedFactorRange = 0.9 1.1
AnimationBlendTime = 15
End
Animation = IDLP
AnimationName = GUManMocap_IDLP
AnimationMode = ONCE
AnimationPriority = 1
AnimationSpeedFactorRange = 0.9 1.1
AnimationBlendTime = 15
End
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "STATE_Selected" then CurDrawableSetTransitionAnimState("TRANS_SelectedToIdle") end
EndScript
End
//--------------- TRANSITIONS ---------------------------------------------------------------------------
TransitionState = TRANS_TO_USER_1
Animation
AnimationName = GUManMocap_RCTA
AnimationMode = ONCE
End
End
TransitionState = TRANS_IdleToSelected
Animation = ATNA
AnimationName = GUManMocap_ATNA
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.0
End
End
TransitionState = TRANS_SelectedToIdle
Animation = ATND
AnimationName = GUManMocap_ATND
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.0
End
End
//-----------------------------------------------------------------------------------------------------------
End
#include "..\..\..\includes\StunDrawModuleSmall.inc"
// ***DESIGN parameters ***
Side = Hobbit
EditorSorting = UNIT
ThreatLevel = 1.0
ThingClass = HORDE_UNIT
CommandPoints = 4
BountyValue = GONDOR_SOLDIER_BOUNTY_VALUE
EmotionRange = 240 // Make sure this value is greater than the fear distribution range.
TransportSlotCount = TRANSPORTSLOTCOUNT_UNIT
//// WEAPON SETS ////
WeaponSet
Conditions = None
Weapon = PRIMARY GondorSword
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
WeaponSet
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY GondorSwordUpgraded
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
//// ARMOUR SETS ////
ArmorSet
Conditions = None
Armor = SoldierArmor
DamageFX = NormalDamageFX
End
ArmorSet
Conditions = PLAYER_UPGRADE
Armor = SoldierHeavyArmor
DamageFX = NormalDamageFX
End
ShroudClearingRange = SHROUD_CLEAR_STANDARD
VisionRange = GONDOR_SOLDIER_VISION_RANGE
VisionSide = 35%
VisionRear = 25%
MaxVisionBonusPercent = 300%
VisionBonusTestRadius = 200
VisionBonusPercentPerFoot = 2.0%
DisplayName = OBJECT:GondorFighter
CrushableLevel = 0 //What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CrushRevengeWeapon = BasicInfantryCrushRevenge
CommandSet = GondorFighterCommandSet
// *** AUDIO Parameters ***//
;VoiceAmbushed = GondorSoldierVoiceAmbushed OBSOLETE VOICE
VoiceAttack = GondorSoldierVoiceAttack
VoiceAttackCharge = GondorSoldierVoiceAttackCharge
VoiceAttackMachine = GondorSoldierVoiceAttack
VoiceAttackStructure = GondorSoldierVoiceAttackBuilding
VoiceEnterStateAttack = GondorSoldierVoiceEnterStateAttack
VoiceEnterStateAttackCharge = GondorSoldierVoiceEnterStateAttackCharge
VoiceEnterStateAttackMachine = GondorSoldierVoiceEnterStateAttackBuilding
VoiceEnterStateAttackStructure = GondorSoldierVoiceEnterStateAttackBuilding
VoiceCreated = GondorSoldierVoiceSalute
VoiceFullyCreated = GondorSoldierVoiceSalute //GondorSoldierVoiceCreated
VoiceGuard = GondorSoldierVoiceMove
VoiceMove = GondorSoldierVoiceMove
VoiceMoveToCamp = GondorSoldierVoiceMoveCamp
VoiceMoveWhileAttacking = GondorSoldierVoiceDisengage //TEMP_GondorSoldierVoiceMoveWhileAttacking_TEMP
VoicePriority = 49
VoiceRetreatToCastle = GondorSoldierVoiceRetreat
VoiceSelect = GondorSoldierVoiceSelectMS
VoiceSelectBattle = GondorSoldierVoiceSelectBattle
VoiceEnterStateMove = GondorSoldierVoiceEnterStateMove
VoiceEnterStateMoveToCamp = GondorSoldierVoiceEnterStateMoveCamp
VoiceEnterStateMoveWhileAttacking = GondorSoldierVoiceEnterStateDisengage
VoiceEnterStateRetreatToCastle = GondorSoldierVoiceEnterStateRetreat
SoundImpact = ImpactHorse
UnitSpecificSounds
VoiceGarrison = GondorSoldierVoiceGarrison
VoiceDesperateAttack = GondorSoldierVoiceDesperateCharge
VoiceAttackUnitWebbedHumanoidWithGondorFighterInside = GondorSoldierVoiceAttackWebbedSoldier
VoiceAttackUnitWebbedHumanoidWithGondorArcherInside = GondorSoldierVoiceAttackWebbedSoldier
VoiceEnterUnitElvenTransportShip = GondorSoldierVoiceMove
VoiceInitiateCaptureBuilding = GondorSoldierVoiceMove
End
CrowdResponseKey = GoodMen
#include "..\..\..\includes\StandardUnitEvaEvents.inc"
ClientBehavior = ModelConditionAudioLoopClientBehavior ModuleTag_foo
ModelCondition = Required:RAISING_FLAG Excluded:DYING ENGAGED Sound:EmotionMenGoodCompilationBFME1and2VoxTauntSinglesLoop
End
Behavior = LargeGroupAudioUpdate ModuleTag_LGAU
Key = Humanoid_Male Man Man_Male Unit Infantry Gondor_Soldier
End
ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
MaxUpdateRangeCap = 800
AnimationSound = Sound: TauntHumanHitShield Animation:GUMAArms_SKL.GUManMocap_IDLC Frames: 17 27
AnimationSound = Sound: TauntHumanHitShield Animation:GUMAArms_SKL.GUManMocap_TNTC Frames: 74 82 94 125 139
AnimationSound = Sound:BodyFallGeneric1 Animation:GUMAArms_SKL.GUManMocap_DIEB Frames:89
AnimationSound = Sound:BodyFallGeneric1 Animation:GUMAArms_SKL.GUManMocap_DIEC Frames:71
AnimationSound = Sound:BodyFallGeneric1 Animation:GUMAArms_SKL.GUManMocap_DIED Frames:29
AnimationSound = Sound:BodyFallGeneric1 Animation:GUMAArms_SKL.GUManMocap_DIEE Frames:28
AnimationSound = Sound:BodyFallGeneric1 Animation:GUMAArms_SKL.GUMAARMS_LNDA Frames:0
End
// *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY PATH_THROUGH_EACH_OTHER SCORE THROWN_OBJECT ATTACK_NEEDS_LINE_OF_SIGHT NOTIFY_OF_PREATTACK GRAB_AND_DROP
Body = ActiveBody ModuleTag_02
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = GONDOR_SOLDIER_HEALTH
MaxHealthDamaged = GONDOR_SOLDIER_HEALTH_DAMAGED
BurningDeathBehavior = Yes
BurningDeathFX = FX_InfantryBurningFlame
End
Behavior = WeaponSetUpgrade WeaponSetUpgradeModuleTag
TriggeredBy = Upgrade_GondorForgedBlades
End
Behavior = ArmorUpgrade ArmorUpgradeModuleTag
TriggeredBy = Upgrade_GondorHeavyArmor
ArmorSetFlag = PLAYER_UPGRADE
End
//-------------------------------------------------------------------------
//
// Sub object upgrading.
//
Behavior = SubObjectsUpgrade Armor_Upgrade
TriggeredBy = Upgrade_GondorHeavyArmor
UpgradeTexture = GUManAtArms.tga 0 GUManAtArms_HA.tga
RecolorHouse = Yes
ExcludeSubobjects = Forged_Blade
End
Behavior = SubObjectsUpgrade ForgedBlade_Upgrade
TriggeredBy = Upgrade_GondorForgedBlades
ShowSubObjects = Forged_Blade
End
//-------------------------------------------------------------------------
Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
MoodAttackCheckRate = 500
AILuaEventsList = GondorFighterFunctions
MinCowerTime = 3000
MaxCowerTime = 5000
AttackPriority = AttackPriority_Infantry
BurningDeathTime = BURNINGDEATH_DURATION_INFANTRY
End
LocomotorSet
Locomotor = HumanLocomotor
Condition = SET_NORMAL
Speed = NORMAL_FOOT_MED_MEMBER_SPEED
End
LocomotorSet
Locomotor = BurningDeathLocomotorInfantry
Condition = SET_BURNINGDEATH
Speed = BURNINGDEATH_WANDERSPEED_INFANTRY
End
Behavior = PhysicsBehavior ModuleTag_04
GravityMult = 1.0
ShockStunnedTimeLow = 1400 //msec
ShockStunnedTimeHigh = 2400 //msec
ShockStandingTime = 1233 //msec
End
Behavior = AttributeModifierUpgrade ModuleTag_AMU
TriggeredBy = Upgrade_GondorFighterFearless
AttributeModifier = FearlessForever
End
Behavior = SquishCollide ModuleTag_06
//nothing
End
Behavior = HordeMemberCollide ModuleTag_HMC
//nothing
End
; Behavior = HitReactionBehavior HitReactionBehaviorModuleTag
; HitReactionLifeTimer1 = 2500 // level 1 (light damage) hit reaction animations in ms
; HitReactionLifeTimer2 = 2500 // level 2 (medium damage) hit reaction animations in ms
; HitReactionLifeTimer3 = 2500 // level 3 (heavy damage) hit reaction animations in ms
; HitReactionThreshold1 = 5.0 // level 1 (light damage) threshold trigger
; HitReactionThreshold2 = 25.0 // level 2 (medium damage) threshold trigger
; HitReactionThreshold3 = 50.0 // level 3 (heavy damage) threshold trigger
; FastHitsResetReaction = Yes If set -- when hits occur faster than the reaction animations, it will reset the animation. (like getting riddled with machine gun bullets)
; End
Behavior = SlowDeathBehavior ModuleTag_05
DeathTypes = ALL -KNOCKBACK -FADED
SinkDelay = 3000
SinkRate = 0.60 // in Dist/Sec
DestructionDelay = 10000
Sound = INITIAL HumanVoiceDie //GondorSoldierVoiceDie
End
Behavior = SlowDeathBehavior ModuleTag_FadeDeath
DeathTypes = NONE +FADED
SinkDelay = 3000
SinkRate = 0.60 // in Dist/Sec
DestructionDelay = 10000
Sound = INITIAL SpellGenericUnsummonFasterMS
End
Behavior = SlowDeathBehavior ModuleTag_07
// Same as normal death, but no sound (sound already played by SoundImpact = ... )
DeathTypes = NONE +KNOCKBACK
SinkDelay = 3000
SinkRate = 0.60 // in Dist/Sec
DestructionDelay = 10000
End
Behavior = BezierProjectileBehavior ModuleTag_08 // Module starts asleep, and wakes up when thrown.
// To tweak a Bezier path
FirstHeight = 24 // Height of Bezier control points above highest intervening terrain
SecondHeight = 24
FirstPercentIndent = 30% // Percentage of shot distance control points are placed
SecondPercentIndent = 70%
TumbleRandomly = Yes
CrushStyle = Yes // I don't detonate, I just hit
DieOnImpact = Yes
BounceCount = 1 // When I hit the ground, I'll arc again
BounceDistance = 40 // this far
BounceFirstHeight = 24 // Height of Bezier control points above highest intervening terrain
BounceSecondHeight = 24
BounceFirstPercentIndent = 20% // Percentage of shot distance control points are placed
BounceSecondPercentIndent = 80%
GroundHitFX = FX_ThrownRockGroundHit
GroundBounceFX = FX_ThrownRockBounceHit
End
Geometry = CYLINDER
GeometryMajorRadius = 8.0
GeometryMinorRadius = 8.0
GeometryHeight = 19.2
GeometryIsSmall = Yes
Shadow = SHADOW_DECAL
ShadowSizeX = 19//
ShadowSizeY = 19//
ShadowTexture = ShadowI
End
// *** ART Parameters ***
SelectPortrait = UPGondor_Soldier
ButtonImage = WOR_GondorSoldier
Draw = W3DHordeModelDraw ModuleTag_01
OkToChangeModelColor = Yes
StaticModelLODMode = Yes
// specify options for static LODs
LodOptions = LOW
AllowMultipleModels = ALLOW_MULTIPLE_MODELS_LOW
MaxRandomTextures = MAX_RANDOM_TEXTURES_LOW
MaxRandomAnimations = MAX_RANDOM_ANIMATIONS_LOW
MaxAnimFrameDelta = MAX_ANIM_FRAME_DELTA_LOW
End
LodOptions = MEDIUM
AllowMultipleModels = ALLOW_MULTIPLE_MODELS_MED
MaxRandomTextures = MAX_RANDOM_TEXTURES_MED
MaxRandomAnimations = MAX_RANDOM_ANIMATIONS_MED
MaxAnimFrameDelta = MAX_ANIM_FRAME_DELTA_MED
End
LodOptions = HIGH
AllowMultipleModels = ALLOW_MULTIPLE_MODELS_HIGH
MaxRandomTextures = MAX_RANDOM_TEXTURES_HIGH
MaxRandomAnimations = MAX_RANDOM_ANIMATIONS_HIGH
MaxAnimFrameDelta = MAX_ANIM_FRAME_DELTA_HIGH
End
WadingParticleSys = WaterRipplesTrail // used when the unit is wading in shallow water.
//================ MODELS =================================================================
DefaultModelConditionState
Model = HUMilitia_SKN
Skeleton = RUFrodo_SKL
End
//=============== ANIMATIONS ===============================================================
//======= FALLING & FLYING
AnimationState = PASSENGER
Animation = Grabbed
AnimationName = GUMAArms_FLLA
AnimationMode = LOOP
End
End
AnimationState = THROWN_PROJECTILE
Animation = FlyA
AnimationName = GUMAARMS_FLYA
AnimationMode = LOOP
End
Animation = FlyB
AnimationName = GUMAARMS_FLYB
AnimationMode = LOOP
End
Animation = FlyC
AnimationName = GUMAARMS_FLYC
AnimationMode = LOOP
End
Animation = FlyD
AnimationName = GUMAARMS_FLYD
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
AnimationState = FREEFALL
Animation = Falling
AnimationName = GUMAArms_FLYD
AnimationMode = LOOP
AnimationBlendTime = 10
End
Animation = Falling
AnimationName = GUMAArms_FLYC
AnimationMode = LOOP
AnimationBlendTime = 10
AnimationSpeedFactorRange = 0.5 0.5
End
End
AnimationState = STUNNED_FLAILING
Animation = FlyA
AnimationName = GUMAARMS_FLYA
AnimationMode = LOOP
AnimationSpeedFactorRange = 0.4 0.6
End
Animation = FlyB
AnimationName = GUMAARMS_FLYB
AnimationMode = LOOP
AnimationSpeedFactorRange = 0.4 0.6
End
Animation = FlyC
AnimationName = GUMAARMS_FLYC
AnimationMode = LOOP
AnimationSpeedFactorRange = 0.4 0.6
End
Animation = FlyD
AnimationName = GUMAARMS_FLYD
AnimationMode = LOOP
AnimationSpeedFactorRange = 0.4 0.6
End
Flags = RANDOMSTART
End
AnimationState = DYING BURNINGDEATH
Animation
AnimationName = GUManMocap_DIEB
AnimationMode = ONCE
AnimationBlendTime = 10
End
Animation
AnimationName = GUManMocap_DIEC
AnimationMode = ONCE
AnimationBlendTime = 10
End
Animation
AnimationName = GUManMocap_DIED
AnimationMode = ONCE
AnimationBlendTime = 10
End
Animation
AnimationName = GUManMocap_DIEE
AnimationMode = ONCE
AnimationBlendTime = 10
End
End
AnimationState = DYING SPLATTED
Animation = Splatted_On_Ground
AnimationName = GUMAARMS_LNDA
AnimationMode = ONCE
End
EnteringStateFX = FX_OrcHitGround
End
AnimationState = DYING AFLAME
Animation = MFDA
AnimationName = GUManMocap_MFDA
AnimationMode = LOOP
End
End
AnimationState = DYING
//Animation = DIEA
// AnimationName = GUManMocap_DIEA
// AnimationMode = ONCE
//End
Animation = DIEB
AnimationName = GUManMocap_DIEB
AnimationMode = ONCE
End
Animation = DIEC
AnimationName = GUManMocap_DIEC
AnimationMode = ONCE
End
Animation = DIED
AnimationName = GUManMocap_DIED
AnimationMode = ONCE
End
Animation = DIEE
AnimationName = GUManMocap_DIEE
AnimationMode = ONCE
End
End
AnimationState = BURNINGDEATH
Animation
AnimationName = GUManMocap_MFDA
AnimationMode = LOOP
Distance = 50
End
End
AnimationState = PARALYZED
Animation
AnimationName = GUManMocap_IDLB
AnimationMode = LOOP
End
End
//======= LANDING & STANDING
AnimationState = STUNNED_STANDING_UP
Animation = GTPA
AnimationName = GUMAArms_GTPA
AnimationMode = ONCE
AnimationSpeedFactorRange = 2.0 2.0
End
Animation = GTPB
AnimationName = GUMAArms_GTPD
AnimationMode = ONCE
AnimationSpeedFactorRange = 2.0 2.0
End
End
AnimationState = STUNNED
Animation = Slatted_On_Ground
AnimationName = GUMAARMS_LNDA
AnimationMode = ONCE
End
EnteringStateFX = FX_OrcHitGround
End
AnimationState = MOVING FIRING_OR_PREATTACK_A
ShareAnimation = Yes
Animation = RunAndFire
AnimationName = GUManMocap_ATRA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
//====== TERROR
AnimationState = MOVING EMOTION_TERROR EMOTION_LOOK_TO_SKY
//@@@KM Add distance
Animation = TerrorFromTheSky
AnimationName = GUManMocap_RUND
AnimationMode = LOOP
End
Animation = TerrorFromTheSky
AnimationName = GUManMocap_RUNE
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
AnimationState = MOVING EMOTION_TERROR
//@@@KM Add distance
Animation = TerrorFromTheSky
AnimationName = GUManMocap_RUND
AnimationMode = ONCE
End
Animation = TerrorFromTheSky
AnimationName = GUManMocap_RUNE
AnimationMode = ONCE
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End
//======= BACK UP
AnimationState = MOVING BACKING_UP
//@@@KM Add distance
Animation = BAKA
AnimationName = GUManMocap_BAKA
AnimationMode = LOOP
End
Animation = BAKB
AnimationName = GUManMocap_BAKB
AnimationMode = LOOP
End
Animation = BAKC
AnimationName = GUManMocap_BAKC
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
AnimationState = MOVING PANICKING
//@@@KM - Add Distance
Animation = MFDA
AnimationName = GUManMocap_MFDA
AnimationMode = LOOP
End
Flags = RANDOMSTART
//ParticleSysBone = None InfantryDustTrails
End
AnimationState = MOVING ATTACKING
ShareAnimation = Yes//
Animation = RUNA
AnimationName = GUManMocap_RUNA
AnimationMode = LOOP
Distance = 25
End
Flags = RANDOMSTART
//ParticleSysBone = None InfantryDustTrails
End
AnimationState = MOVING ALTERNATE_FORMATION
Animation
AnimationName = GUMAArms_SPCA
AnimationMode = LOOP
Distance = 20
End
Flags = RANDOMSTART
End
AnimationState = MOVING
//@@@KM - Add Distance
ShareAnimation = Yes//
Animation = RUNB
AnimationName = GUManMocap_RUNB
AnimationMode = LOOP
Distance = 30
End
Animation = RUNC
AnimationName = GUManMocap_RUNC
AnimationMode = LOOP
Distance = 30
End
Flags = RANDOMSTART
//ParticleSysBone = None InfantryDustTrails
End
//======= UNCONTROLLABLY AFRAID
// This is before Attacking so it overrides it. Normal fear is below so you don't go to little-fear in between swings.
AnimationState = EMOTION_UNCONTROLLABLY_AFRAID
Animation = FERA
AnimationName = GUManMocap_FERA
AnimationMode = LOOP
End
Animation = FERB
AnimationName = GUManMocap_FERB
AnimationMode = LOOP
End
Animation = FERC
AnimationName = GUManMocap_FERC
AnimationMode = LOOP
End
Animation = FERD
AnimationName = GUManMocap_FERD
AnimationMode = LOOP
End
Animation = FERE
AnimationName = GUManMocap_FERE
AnimationMode = LOOP
End
Animation = FERF
AnimationName = GUManMocap_FERF
AnimationMode = LOOP
End
End
//---------------------- ATTACKING ----------------------------------------------------------------
AnimationState = FIRING_OR_PREATTACK_A
Animation = ATA1
AnimationName = GUManMocap_ATKA
AnimationMode = ONCE
UseWeaponTiming = Yes
End
//ParticleSysBone = None MeleeDust
End
;AnimationState = ATTACKING
; Animation = ALERT_1
; AnimationName = GUManMocap_IDLA
; AnimationMode = LOOP
; End
;End
//----------------- HIT REACTIONS -------------------------------------------------------------------------
; AnimationState = HIT_REACTION
//Animation = HITA
// AnimationName = GUManMocap_HITA
// AnimationMode = ONCE
//End
; Animation = HITB
; AnimationName = GUManMocap_HITB
; AnimationMode = ONCE
; End
; End
//----------------- EMOTIONS ----------------------------------------------------------------
//======= APPREHENSIVE
AnimationState = EMOTION_ALERT EMOTION_AFRAID
Animation = APPA
AnimationName = GUManMocap_APPA
AnimationMode = ONCE
End
Animation = APPB
AnimationName = GUManMocap_APPB
AnimationMode = ONCE
End
Flags = RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
End
//======= AFRAID
AnimationState = EMOTION_AFRAID
Animation = FERA
AnimationName = GUManMocap_FERA
AnimationMode = LOOP
End
Animation = FERB
AnimationName = GUManMocap_FERB
AnimationMode = LOOP
End
Animation = FERC
AnimationName = GUManMocap_FERC
AnimationMode = LOOP
End
Animation = FERD
AnimationName = GUManMocap_FERD
AnimationMode = LOOP
End
Animation = FERE
AnimationName = GUManMocap_FERE
AnimationMode = LOOP
End
Animation = FERF
AnimationName = GUManMocap_FERF
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
//======== POINTING
AnimationState = EMOTION_POINTING
Animation = Pointing1
AnimationName = GUManMocap_RCTA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
//======= TAUNTING
AnimationState = EMOTION_TAUNTING
Animation = Taunting1
AnimationName = GUManMocap_TNTA
AnimationMode = ONCE
End
Animation = Taunting2
AnimationName = GUManMocap_TNTB
AnimationMode = ONCE
End
Animation = Taunting3
AnimationName = GUManMocap_TNTC
AnimationMode = ONCE
End
Animation = Taunting4
AnimationName = GUManMocap_IDLC
AnimationMode = ONCE
End
Animation = Taunting5
AnimationName = GUManMocap_IDLA
AnimationMode = ONCE
End
Animation = Taunting6
AnimationName = GUManMocap_IDLH
AnimationMode = ONCE
End
Flags = RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
End
//======= CELEBRATING
AnimationState = EMOTION_CELEBRATING
Animation = CHRB
AnimationName = GUManMocap_CHRB
AnimationMode = ONCE
End
Animation = CHRC
AnimationName = GUManMocap_CHRC
AnimationMode = ONCE
End
Animation = IDLD
AnimationName = GUManMocap_IDLD
AnimationMode = ONCE
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End
//----------------- ALERT STATE ---------------------------------------------------------------------------
AnimationState = ATTACKING
Animation = ALERT_1
AnimationName = GUManMocap_IDLA
AnimationMode = LOOP
End
End
AnimationState = EMOTION_ALERT
Animation = ALERT_1
AnimationName = GUManMocap_IDLA
AnimationMode = LOOP//ONCE
AnimationPriority = 10
End
Flags = RESTART_ANIM_WHEN_COMPLETE // acts like an idle animation & keeps running the animations.
End
AnimationState = RAISING_FLAG
Animation = CHRB
AnimationName = GUManMocap_CHRB
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.1
End
Animation = CHRC
AnimationName = GUManMocap_CHRC
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.1
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End
//----------------- SELECTED STATES -----------------------------------------------------------------------
AnimationState = SELECTED
StateName = STATE_Selected
Animation = ATNB
AnimationName = GUManMocap_ATNB
AnimationMode = LOOP
End
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "STATE_Idle"
then
CurDrawableSetTransitionAnimState("TRANS_IdleToSelected")
end
if CurDrawableModelcondition("ATTACKING")
then
return "IDLA"
else
return "ATNA"
end
EndScript
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "STATE_Idle" then CurDrawableSetTransitionAnimState("TRANS_IdleToSelected") end
EndScript
End
//----------------- IDLE STATES ---------------------------------------------------------------------------
AnimationState = WEAPONSET_PLAYER_UPGRADE
StateName = STATE_Idle
Animation = IDLI
AnimationName = GUManMocap_IDLH
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.1
End
Animation = IDLD
AnimationName = GUManMocap_IDLD
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.1
End
Animation = IDLH
AnimationName = GUManMocap_IDLH
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.1
End
Animation = CHRB
AnimationName = GUManMocap_CHRB
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.1
End
Animation = CHRC
AnimationName = GUManMocap_CHRC
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.1
End
Flags = RESTART_ANIM_WHEN_COMPLETE
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "STATE_Selected" then CurDrawableSetTransitionAnimState("TRANS_SelectedToIdle") end
EndScript
End
AnimationState = USER_3
StateName = STATE_User_3
Animation = GUARD_STANCE
AnimationName = GUManMocap_IDLA
AnimationMode = LOOP
End
End
IdleAnimationState
StateName = STATE_Idle
Animation = IDLB
AnimationName = GUManMocap_IDLB
AnimationMode = ONCE
AnimationPriority = 20
AnimationSpeedFactorRange = 0.9 1.1
AnimationBlendTime = 15
End
Animation = IDLF
AnimationName = GUManMocap_IDLF
AnimationMode = ONCE
AnimationPriority = 1
AnimationSpeedFactorRange = 0.9 1.1
AnimationBlendTime = 15
End
Animation = IDLG
AnimationName = GUManMocap_IDLG
AnimationMode = ONCE
AnimationPriority = 1
AnimationSpeedFactorRange = 0.9 1.1
AnimationBlendTime = 15
End
Animation = IDLJ
AnimationName = GUManMocap_IDLJ
AnimationMode = ONCE
AnimationPriority = 1
AnimationSpeedFactorRange = 0.9 1.1
AnimationBlendTime = 15
End
Animation = IDLK
AnimationName = GUManMocap_IDLK
AnimationMode = ONCE
AnimationPriority = 1
AnimationSpeedFactorRange = 0.9 1.1
AnimationBlendTime = 15
End
Animation = IDLL
AnimationName = GUManMocap_IDLL
AnimationMode = ONCE
AnimationPriority = 1
AnimationSpeedFactorRange = 0.9 1.1
AnimationBlendTime = 15
End
Animation = IDLN
AnimationName = GUManMocap_IDLN
AnimationMode = ONCE
AnimationPriority = 1
AnimationSpeedFactorRange = 0.9 1.1
AnimationBlendTime = 15
End
Animation = IDLO
AnimationName = GUManMocap_IDLO
AnimationMode = ONCE
AnimationPriority = 1
AnimationSpeedFactorRange = 0.9 1.1
AnimationBlendTime = 15
End
Animation = IDLP
AnimationName = GUManMocap_IDLP
AnimationMode = ONCE
AnimationPriority = 1
AnimationSpeedFactorRange = 0.9 1.1
AnimationBlendTime = 15
End
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "STATE_Selected" then CurDrawableSetTransitionAnimState("TRANS_SelectedToIdle") end
EndScript
End
//--------------- TRANSITIONS ---------------------------------------------------------------------------
TransitionState = TRANS_TO_USER_1
Animation
AnimationName = GUManMocap_RCTA
AnimationMode = ONCE
End
End
TransitionState = TRANS_IdleToSelected
Animation = ATNA
AnimationName = GUManMocap_ATNA
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.0
End
End
TransitionState = TRANS_SelectedToIdle
Animation = ATND
AnimationName = GUManMocap_ATND
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.9 1.0
End
End
//-----------------------------------------------------------------------------------------------------------
End
#include "..\..\..\includes\StunDrawModuleSmall.inc"
// ***DESIGN parameters ***
Side = Hobbit
EditorSorting = UNIT
ThreatLevel = 1.0
ThingClass = HORDE_UNIT
CommandPoints = 4
BountyValue = GONDOR_SOLDIER_BOUNTY_VALUE
EmotionRange = 240 // Make sure this value is greater than the fear distribution range.
TransportSlotCount = TRANSPORTSLOTCOUNT_UNIT
//// WEAPON SETS ////
WeaponSet
Conditions = None
Weapon = PRIMARY GondorSword
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
WeaponSet
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY GondorSwordUpgraded
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
//// ARMOUR SETS ////
ArmorSet
Conditions = None
Armor = SoldierArmor
DamageFX = NormalDamageFX
End
ArmorSet
Conditions = PLAYER_UPGRADE
Armor = SoldierHeavyArmor
DamageFX = NormalDamageFX
End
ShroudClearingRange = SHROUD_CLEAR_STANDARD
VisionRange = GONDOR_SOLDIER_VISION_RANGE
VisionSide = 35%
VisionRear = 25%
MaxVisionBonusPercent = 300%
VisionBonusTestRadius = 200
VisionBonusPercentPerFoot = 2.0%
DisplayName = OBJECT:GondorFighter
CrushableLevel = 0 //What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CrushRevengeWeapon = BasicInfantryCrushRevenge
CommandSet = GondorFighterCommandSet
// *** AUDIO Parameters ***//
;VoiceAmbushed = GondorSoldierVoiceAmbushed OBSOLETE VOICE
VoiceAttack = GondorSoldierVoiceAttack
VoiceAttackCharge = GondorSoldierVoiceAttackCharge
VoiceAttackMachine = GondorSoldierVoiceAttack
VoiceAttackStructure = GondorSoldierVoiceAttackBuilding
VoiceEnterStateAttack = GondorSoldierVoiceEnterStateAttack
VoiceEnterStateAttackCharge = GondorSoldierVoiceEnterStateAttackCharge
VoiceEnterStateAttackMachine = GondorSoldierVoiceEnterStateAttackBuilding
VoiceEnterStateAttackStructure = GondorSoldierVoiceEnterStateAttackBuilding
VoiceCreated = GondorSoldierVoiceSalute
VoiceFullyCreated = GondorSoldierVoiceSalute //GondorSoldierVoiceCreated
VoiceGuard = GondorSoldierVoiceMove
VoiceMove = GondorSoldierVoiceMove
VoiceMoveToCamp = GondorSoldierVoiceMoveCamp
VoiceMoveWhileAttacking = GondorSoldierVoiceDisengage //TEMP_GondorSoldierVoiceMoveWhileAttacking_TEMP
VoicePriority = 49
VoiceRetreatToCastle = GondorSoldierVoiceRetreat
VoiceSelect = GondorSoldierVoiceSelectMS
VoiceSelectBattle = GondorSoldierVoiceSelectBattle
VoiceEnterStateMove = GondorSoldierVoiceEnterStateMove
VoiceEnterStateMoveToCamp = GondorSoldierVoiceEnterStateMoveCamp
VoiceEnterStateMoveWhileAttacking = GondorSoldierVoiceEnterStateDisengage
VoiceEnterStateRetreatToCastle = GondorSoldierVoiceEnterStateRetreat
SoundImpact = ImpactHorse
UnitSpecificSounds
VoiceGarrison = GondorSoldierVoiceGarrison
VoiceDesperateAttack = GondorSoldierVoiceDesperateCharge
VoiceAttackUnitWebbedHumanoidWithGondorFighterInside = GondorSoldierVoiceAttackWebbedSoldier
VoiceAttackUnitWebbedHumanoidWithGondorArcherInside = GondorSoldierVoiceAttackWebbedSoldier
VoiceEnterUnitElvenTransportShip = GondorSoldierVoiceMove
VoiceInitiateCaptureBuilding = GondorSoldierVoiceMove
End
CrowdResponseKey = GoodMen
#include "..\..\..\includes\StandardUnitEvaEvents.inc"
ClientBehavior = ModelConditionAudioLoopClientBehavior ModuleTag_foo
ModelCondition = Required:RAISING_FLAG Excluded:DYING ENGAGED Sound:EmotionMenGoodCompilationBFME1and2VoxTauntSinglesLoop
End
Behavior = LargeGroupAudioUpdate ModuleTag_LGAU
Key = Humanoid_Male Man Man_Male Unit Infantry Gondor_Soldier
End
ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
MaxUpdateRangeCap = 800
AnimationSound = Sound: TauntHumanHitShield Animation:GUMAArms_SKL.GUManMocap_IDLC Frames: 17 27
AnimationSound = Sound: TauntHumanHitShield Animation:GUMAArms_SKL.GUManMocap_TNTC Frames: 74 82 94 125 139
AnimationSound = Sound:BodyFallGeneric1 Animation:GUMAArms_SKL.GUManMocap_DIEB Frames:89
AnimationSound = Sound:BodyFallGeneric1 Animation:GUMAArms_SKL.GUManMocap_DIEC Frames:71
AnimationSound = Sound:BodyFallGeneric1 Animation:GUMAArms_SKL.GUManMocap_DIED Frames:29
AnimationSound = Sound:BodyFallGeneric1 Animation:GUMAArms_SKL.GUManMocap_DIEE Frames:28
AnimationSound = Sound:BodyFallGeneric1 Animation:GUMAArms_SKL.GUMAARMS_LNDA Frames:0
End
// *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY PATH_THROUGH_EACH_OTHER SCORE THROWN_OBJECT ATTACK_NEEDS_LINE_OF_SIGHT NOTIFY_OF_PREATTACK GRAB_AND_DROP
Body = ActiveBody ModuleTag_02
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = GONDOR_SOLDIER_HEALTH
MaxHealthDamaged = GONDOR_SOLDIER_HEALTH_DAMAGED
BurningDeathBehavior = Yes
BurningDeathFX = FX_InfantryBurningFlame
End
Behavior = WeaponSetUpgrade WeaponSetUpgradeModuleTag
TriggeredBy = Upgrade_GondorForgedBlades
End
Behavior = ArmorUpgrade ArmorUpgradeModuleTag
TriggeredBy = Upgrade_GondorHeavyArmor
ArmorSetFlag = PLAYER_UPGRADE
End
//-------------------------------------------------------------------------
//
// Sub object upgrading.
//
Behavior = SubObjectsUpgrade Armor_Upgrade
TriggeredBy = Upgrade_GondorHeavyArmor
UpgradeTexture = GUManAtArms.tga 0 GUManAtArms_HA.tga
RecolorHouse = Yes
ExcludeSubobjects = Forged_Blade
End
Behavior = SubObjectsUpgrade ForgedBlade_Upgrade
TriggeredBy = Upgrade_GondorForgedBlades
ShowSubObjects = Forged_Blade
End
//-------------------------------------------------------------------------
Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
MoodAttackCheckRate = 500
AILuaEventsList = GondorFighterFunctions
MinCowerTime = 3000
MaxCowerTime = 5000
AttackPriority = AttackPriority_Infantry
BurningDeathTime = BURNINGDEATH_DURATION_INFANTRY
End
LocomotorSet
Locomotor = HumanLocomotor
Condition = SET_NORMAL
Speed = NORMAL_FOOT_MED_MEMBER_SPEED
End
LocomotorSet
Locomotor = BurningDeathLocomotorInfantry
Condition = SET_BURNINGDEATH
Speed = BURNINGDEATH_WANDERSPEED_INFANTRY
End
Behavior = PhysicsBehavior ModuleTag_04
GravityMult = 1.0
ShockStunnedTimeLow = 1400 //msec
ShockStunnedTimeHigh = 2400 //msec
ShockStandingTime = 1233 //msec
End
Behavior = AttributeModifierUpgrade ModuleTag_AMU
TriggeredBy = Upgrade_GondorFighterFearless
AttributeModifier = FearlessForever
End
Behavior = SquishCollide ModuleTag_06
//nothing
End
Behavior = HordeMemberCollide ModuleTag_HMC
//nothing
End
; Behavior = HitReactionBehavior HitReactionBehaviorModuleTag
; HitReactionLifeTimer1 = 2500 // level 1 (light damage) hit reaction animations in ms
; HitReactionLifeTimer2 = 2500 // level 2 (medium damage) hit reaction animations in ms
; HitReactionLifeTimer3 = 2500 // level 3 (heavy damage) hit reaction animations in ms
; HitReactionThreshold1 = 5.0 // level 1 (light damage) threshold trigger
; HitReactionThreshold2 = 25.0 // level 2 (medium damage) threshold trigger
; HitReactionThreshold3 = 50.0 // level 3 (heavy damage) threshold trigger
; FastHitsResetReaction = Yes If set -- when hits occur faster than the reaction animations, it will reset the animation. (like getting riddled with machine gun bullets)
; End
Behavior = SlowDeathBehavior ModuleTag_05
DeathTypes = ALL -KNOCKBACK -FADED
SinkDelay = 3000
SinkRate = 0.60 // in Dist/Sec
DestructionDelay = 10000
Sound = INITIAL HumanVoiceDie //GondorSoldierVoiceDie
End
Behavior = SlowDeathBehavior ModuleTag_FadeDeath
DeathTypes = NONE +FADED
SinkDelay = 3000
SinkRate = 0.60 // in Dist/Sec
DestructionDelay = 10000
Sound = INITIAL SpellGenericUnsummonFasterMS
End
Behavior = SlowDeathBehavior ModuleTag_07
// Same as normal death, but no sound (sound already played by SoundImpact = ... )
DeathTypes = NONE +KNOCKBACK
SinkDelay = 3000
SinkRate = 0.60 // in Dist/Sec
DestructionDelay = 10000
End
Behavior = BezierProjectileBehavior ModuleTag_08 // Module starts asleep, and wakes up when thrown.
// To tweak a Bezier path
FirstHeight = 24 // Height of Bezier control points above highest intervening terrain
SecondHeight = 24
FirstPercentIndent = 30% // Percentage of shot distance control points are placed
SecondPercentIndent = 70%
TumbleRandomly = Yes
CrushStyle = Yes // I don't detonate, I just hit
DieOnImpact = Yes
BounceCount = 1 // When I hit the ground, I'll arc again
BounceDistance = 40 // this far
BounceFirstHeight = 24 // Height of Bezier control points above highest intervening terrain
BounceSecondHeight = 24
BounceFirstPercentIndent = 20% // Percentage of shot distance control points are placed
BounceSecondPercentIndent = 80%
GroundHitFX = FX_ThrownRockGroundHit
GroundBounceFX = FX_ThrownRockBounceHit
End
Geometry = CYLINDER
GeometryMajorRadius = 8.0
GeometryMinorRadius = 8.0
GeometryHeight = 19.2
GeometryIsSmall = Yes
Shadow = SHADOW_DECAL
ShadowSizeX = 19//
ShadowSizeY = 19//
ShadowTexture = ShadowI
End
The same when i add a button image or a portrait image (in .tga or in .ddl i haven't understood yet which one i have to use).
Thanks for the help