[RotWk]Update 25/7/08.
#121
Posted 18 February 2008 - 06:40 PM
#122
Posted 19 February 2008 - 12:54 PM
[codebox]
CommandSet RivendellWarriorCommandSet
1 = Command_ToggleStance
2 = Command_ToggleElvenWarriorWeapon
3 = Command_PurchaseUpgradeArnorElvenForgedBlades
4 = Command_PurchaseUpgradeElvenSilverthornArrows
5 = Command_PurchaseUpgradeArnorElvenHeavyArmor
6 = Command_PurchaseUpgradeArnorElvenBasicTraining
12 = Command_CaptureBuilding
13 = Command_AttackMove
14 = Command_Stop
16 = Command_SetStanceBattle
17 = Command_SetStanceAggressive
18 = Command_SetStanceHoldGround
End
CommandSet RivendellWarriorHordeCommandSet
1 = Command_ToggleStance
2 = Command_ToggleElvenWarriorWeapon
3 = Command_PurchaseUpgradeArnorElvenForgedBlades
4 = Command_PurchaseUpgradeElvenSilverthornArrows
5 = Command_PurchaseUpgradeArnorElvenHeavyArmor
6 = Command_PurchaseUpgradeArnorElvenBasicTraining
12 = Command_CaptureBuilding
13 = Command_AttackMove
14 = Command_Stop
16 = Command_SetStanceBattle
17 = Command_SetStanceAggressive
18 = Command_SetStanceHoldGround
End
[/codebox]
Unit's ini:
[codebox]Object ElvenImladrisWarrior
; ***ART Parameters ***
SelectPortrait = UPElven_LorienWarrior
Draw = W3DHordeModelDraw ModuleTag_01
OkToChangeModelColor = No
StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD
RandomTexture = EUrivenlan_c.tga 0 RUElvnWorrior.tga
LodOptions = LOW
AllowMultipleModels = M_ALLOW_MULTIPLE_MODELS_LOW
MaxRandomTextures = M_MAX_RANDOM_TEXTURES_LOW
MaxRandomAnimations = M_MAX_RANDOM_ANIMATIONS_LOW
MaxAnimFrameDelta = M_MAX_ANIM_FRAME_DELTA_LOW
End
LodOptions = MEDIUM
AllowMultipleModels = M_ALLOW_MULTIPLE_MODELS_MED
MaxRandomTextures = M_MAX_RANDOM_TEXTURES_MED
MaxRandomAnimations = M_MAX_RANDOM_ANIMATIONS_MED
MaxAnimFrameDelta = M_MAX_ANIM_FRAME_DELTA_MED
End
LodOptions = HIGH
AllowMultipleModels = M_ALLOW_MULTIPLE_MODELS_HIGH
MaxRandomTextures = M_MAX_RANDOM_TEXTURES_HIGH
MaxRandomAnimations = M_MAX_RANDOM_ANIMATIONS_HIGH
MaxAnimFrameDelta = M_MAX_ANIM_FRAME_DELTA_HIGH
End
;;====================== MODELS ================================================================
DefaultModelConditionState
Model = RUElfWar_SKN
Skeleton = RUElfWar_SKL
WeaponLaunchBone = PRIMARY ARROW
WeaponLaunchBone = SECONDARY ARROWNOCK ; when upgraded to flaming arrow
End
; --------- With Sword ------------
ModelConditionState = WEAPONSET_TOGGLE_1
Model = RUElfWar_SKN
Skeleton = RUElfWar_SKL
End
; --------- With Fire arrows Upgrade ------------
ModelConditionState = WEAPONSET_PLAYER_UPGRADE USER_4
Model = RUElfWar_SKN
Skeleton = RUElfWar_SKL
WeaponLaunchBone = PRIMARY ARROW
WeaponLaunchBone = SECONDARY ARROWNOCK ; when upgraded to flaming arrow
ParticleSysBone = NONE Predator FollowBone:Yes Persist:HOLD PersistID:100
; ParticleSysBone = FireArowTip arrowFire FollowBone:Yes
; ParticleSysBone = FireArowTip arrowFire FollowBone:Yes
End
;;================== ANIMATIONS ============================================
/Not needed to post them
;;=======================================================================
; ***DESIGN parameters ***
Side = Arnor
EditorSorting = UNIT
ThreatLevel = 1.0
ThingClass = HORDE_UNIT
CommandPoints = 4
TransportSlotCount = M_TRANSPORTSLOTCOUNT_UNIT
WeaponSet
Conditions = None
Weapon = PRIMARY LorienElvenBow
Weapon = TERTIARY LorienElvenBowBombard
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
AutoChooseSources = TERTIARY FROM_PLAYER FROM_SCRIPT ; Not AI.
End
;bow upgrade
WeaponSet
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY LorienElvenBow ; RohanElvenBowFireArrow
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
WeaponSet
Conditions = WEAPONSET_TOGGLE_1 ; CONTESTING_BUILDING
Weapon = PRIMARY ElvenWarriorSword ;GondorRangerSword
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
; sword upgrade
WeaponSet
Conditions = PLAYER_UPGRADE WEAPONSET_TOGGLE_1 CONTESTING_BUILDING
Weapon = PRIMARY ElvenWarriorSword
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
ArmorSet
Conditions = None
Armor = LorienWarriorHeavyArmor
DamageFX = NormalDamageFX
End
VisionRange = M_ROHAN_ELVENWARRIOR_VISION_RANGE
ShroudClearingRange = M_SHROUD_CLEAR_STANDARD
BountyValue = M_ROHAN_ELVENWARRIOR_BOUNTY_VALUE
DisplayName = OBJECT:ElvenImladrisWarrior
CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CrushRevengeWeapon = SuperInfantryCrushRevenge
CommandSet = RivendellWarriorCommandSet
; *** AUDIO Parameters ***;
VoiceAttack = ElvenWarriorVoiceAttack
VoiceAttackAir = ElvenWarriorVoiceAttackBow
VoiceAttackCharge = ElvenWarriorVoiceAttackCharge
VoiceAttackStructure = ElvenWarriorVoiceAttackStructure ; ElvenWarriorVoiceAttackBuilding not recorded
VoiceAttackMachine = ElvenWarriorVoiceAttackStructure ; ElvenWarriorVoiceAttackBuilding not recorded
VoiceCreated = ElvenWarriorVoiceSalute
VoiceFullyCreated = ElvenWarriorVoiceSalute
VoiceMove = ElvenWarriorVoiceMove
VoiceMoveToCamp = ElvenWarriorVoiceMoveCamp
VoiceMoveWhileAttacking = ElvenWarriorVoiceDisengage
VoicePriority = 41
VoiceRetreatToCastle = ElvenWarriorVoiceRetreat
VoiceSelect = ElvenWarriorVoiceSelectMS
VoiceSelectBattle = ElvenWarriorVoiceSelectBattle
VoiceGuard = ElvenWarriorVoiceMove
UnitSpecificSounds
VoiceGarrison = ElvenWarriorVoiceGarrison
VoicePrimaryWeaponMode = ElvenWarriorVoiceModeBow
VoiceSecondaryWeaponMode = ElvenWarriorVoiceModeSword
End
#include "..\..\..\includes\StandardUnitEvaEvents.inc"
Behavior = LargeGroupAudioUpdate ModuleTag_LGAU ; Tie into LargeGroupAudio system
Key = Elf Unit Infantry Elf_Warrior
End
ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
MaxUpdateRangeCap = 800
AnimationSound = Sound:ArrowDrawBow Animation:RUElfWar_SKL.RUElfWar_ATKA1 Frames:6
AnimationSound = Sound:ArrowDrawBow Animation:RUElfWar_SKL.RUElfWar_ATKA2 Frames:18
AnimationSound = Sound:SwordShingClean1ForHordes Animation:RUElfWar_SKL.RUElfWar_STHA Frames:24
AnimationSound = Sound:SwordIntoScabbard1ForHordes Animation:RUElfWar_SKL.RUElfWar_STHB Frames:9
AnimationSound = Sound:WeaponSwitchBowForHordes Animation:RUElfWar_SKL.RUElfWar_STHB Frames:15
AnimationSound = Sound:SwordShingClean1ForHordes Animation:RUElfWar_SKL.RUElfWar_STHC Frames:20
AnimationSound = Sound:SwordIntoScabbard1ForHordes Animation:RUElfWar_SKL.RUElfWar_STHD Frames:5
AnimationSound = Sound:WeaponSwitchBowForHordes Animation:RUElfWar_SKL.RUElfWar_STHD Frames:8
AnimationSound = Sound:SwordShingClean1ForHordes Animation:RUElfWar_SKL.RUElfWar_RUNC Frames:14
AnimationSound = Sound:SwordIntoScabbard1ForHordes Animation:RUElfWar_SKL.RUElfWar_RUNT Frames:4
AnimationSound = Sound:WeaponSwitchBowForHordes Animation:RUElfWar_SKL.RUElfWar_RUNT Frames:16
AnimationSound = Sound:BodyFallSoldier Animation:RUElfWar_SKL.RUElfWar_LNDA Frames:9
AnimationSound = Sound:BodyFallSoldier Animation:RUElfWar_SKL.RUElfWar_LNDB Frames:1
AnimationSound = Sound:BodyFallGenericNoArmor Animation:RUElfWar_SKL.RUElfWar_DIEB Frames:82
AnimationSound = Sound:BodyFallSoldier Animation:RUElfWar_SKL.RUElfWar_DIEBV5 Frames:25
AnimationSound = Sound:BodyFallSoldier Animation:RUElfWar_SKL.RUElfWar_DIESV4 Frames:26
AnimationSound = Sound:BodyFallGenericNoArmor Animation:RUElfWar_SKL.RUElfWar_DIESV5 Frames:100
End
;------------------ AnimationAudio ---- ElvenWarriorVoice WeaponModes ---------------
;
; This was the old hookup for ElvenWarriorVoice switch bow or sword; now it's in CommandButton.INI
;
;ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
; MaxUpdateRangeCap = 800
; AnimationSound = Sound: ElvenWarriorVoiceModeSword Animation: RUElfWar_STHA Frames: 0
; AnimationSound = Sound: ElvenWarriorVoiceModeBow Animation: RUElfWar_STHB Frames: 0
; AnimationSound = Sound: ElvenWarriorVoiceModeSword Animation: RUElfWar_RUNC Frames: 0
; AnimationSound = Sound: ElvenWarriorVoiceModeBow Animation: RUElfWar_RUNT Frames: 0
;End
; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY SCORE THROWN_OBJECT PATH_THROUGH_EACH_OTHER ARCHER ATTACK_NEEDS_LINE_OF_SIGHT GRAB_AND_DROP
Body = ActiveBody ModuleTag_02
CheerRadius = M_EMOTION_CHEER_RADIUS
MaxHealth = M_ELVEN_MITHLONDSENTRY_HEALTH ;BALANCE Isengard Pikeman Health
MaxHealthDamaged = M_ELVEN_MITHLONDSENTRY_HEALTH_DAMAGED
;RecoveryTime = M_ELVEN_MITHLONDSENTRY_HEALTH_RECOVERY_TIME
End
; Fire arrow upgrade
Behavior = WeaponSetUpgrade ModuleTag_WeaponSetUpgradeTag
TriggeredBy = Upgrade_ElvenSilverthornArrows
CustomAnimAndDuration = AnimState:USER_4 AnimTime:0 TriggerTime:0 ;set flag forever
End
; Switch arrows being displayed.
Behavior = SubObjectsUpgrade ModuleTag_FireArrowSwapUpgrade
TriggeredBy = Upgrade_ElvenSilverthornArrows
;ShowSubObjects = FireArowTip
End
Behavior = WeaponSetUpgrade WeaponSetUpgradeModuleTag
TriggeredBy = Upgrade_ArnorForgedBlades
CustomAnimAndDuration = AnimState:USER_5 AnimTime:0 TriggerTime:0 ;set flag forever
End
Behavior = SubObjectsUpgrade Armor_Upgrade
TriggeredBy = Upgrade_ArnorHeavyArmor
UpgradeTexture = RUElvnWorrior.tga 0 EURivenLan01HA.tga
UpgradeTexture = RUElvnWorrior_L.tga 0 EURivenLan01HA.tga
RecolorHouse = Yes
End
Behavior = ArmorUpgrade ArmorUpgradeModuleTag
TriggeredBy = Upgrade_ArnorHeavyArmor
End
Behavior = SubObjectsUpgrade ForgedBlades_Upgrade
TriggeredBy = Upgrade_ArnorForgedBlades
ShowSubObjects = Forged_Blade
End
Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS STEALTHED
MoodAttackCheckRate = 500
CanAttackWhileContained = Yes
; HoldGroundCloseRangeDistance = 21
AILuaEventsList = RohanElvenWarriorFunctions
End
LocomotorSet
Locomotor = HumanLocomotor
Condition = SET_NORMAL
Speed = M_NORMAL_GOOD_FAST_MEMBER_SPEED
End
LocomotorSet
Locomotor = HumanWanderLocomotor
Condition = SET_WANDER
Speed = M_NORMAL_GOOD_FAST_MEMBER_SPEED
End
LocomotorSet
Locomotor = HumanPanicLocomotor
Condition = SET_PANIC
Speed = M_NORMAL_GOOD_FAST_MEMBER_SPEED
End
LocomotorSet
Locomotor = HumanScaredLocomotor
Condition = SET_SCARED
Speed = M_NORMAL_GOOD_FAST_MEMBER_SPEED
End
; Fire arrow upgrade
Behavior = WeaponSetUpgrade ModuleTag_14
TriggeredBy = Upgrade_ElvenSilverthornArrows
End
Behavior = DualWeaponBehavior ModuleTag_13
SwitchWeaponOnCloseRangeDistance = 21
End
Behavior = PhysicsBehavior ModuleTag_04
GravityMult = 1.0
End
Behavior = SlowDeathBehavior ModuleTag_05
DeathTypes = ALL -FADED
SinkDelay = 3000
SinkRate = 0.5 ; in Dist/Sec
DestructionDelay = 15000
Sound = INITIAL ElvenWarriorVoiceDie
DeathFlags = DEATH_1
End
Behavior = SlowDeathBehavior ModuleTag_FadeDeath
DeathTypes = NONE +FADED
FadeDelay = 0
FadeTime = 5000
DestructionDelay = 5000
DeathFlags = DEATH_2
FX = INITIAL FX_UnSummonElvenAllies
End
Behavior = SquishCollide ModuleTag_06
;nothing
End
Behavior = BezierProjectileBehavior ModuleTag_08 ; Module starts asleep, and wakes up when thrown.
;
FirstHeight = 25 ; Height of Bezier control points above highest intervening terrain
SecondHeight = 25
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 = 41 ; this far
BounceFirstHeight = 25 ; Height of Bezier control points above highest intervening terrain
BounceSecondHeight = 25
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 = 14;
ShadowSizeY = 14;
ShadowTexture = ShadowI;
End
[/codebox]
Horde's ini:
[codebox]Object ImladrisWarriorHorde
; This is required for garrisoned objects - please put in all objects.
ButtonImage = BEElvenBarracks_LorienWarrior
SelectPortrait = UPElven_LorienWarrior
Draw = W3DScriptedModelDraw ModuleTag_W3DModelDraw
DependencySharedModelFlags = EMOTION_ALERT EMOTION_MORALE_HIGH EMOTION_MORALE_LOW EMOTION_AFRAID EMOTION_COWER SELECTED EMOTION_TERROR
DefaultModelConditionState
Model = None ;InvisHrdeTmp5x2
End
ModelConditionState = HORDE_EMPTY
Model = None
End
ModelConditionState = WORLD_BUILDER
Model = HordeTemp_5By2
End
End
Side = Arnor
EditorSorting = UNIT
EmotionRange = 240
DisplayName = OBJECT:ElvenLindonWarrior
DisplayNameStrategic = CONTROLBAR:LW_Unit_ElvenImladrisWarriorHorde
DescriptionStrategic = CONTROLBAR:LW_ToolTip_ElvenImladrisWarriorHorde
WeaponSet
Conditions = None
Weapon = PRIMARY GoodArcherMissileHordeRangefinder
End
WeaponSet
Conditions = WEAPONSET_TOGGLE_1
Weapon = PRIMARY NormalMeleeHordeRangefinder
End
CommandSet = RivendellWarriorHordeCommandSet
; *** AUDIO Parameters ***
; Note: Don't put voice parameters here -- they will be ignored. Voice play requests
; are always passed through to members
CrushableLevel = 0 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CrusherLevel = 0
BuildCost = M_ELVEN_LINDONWARRIOR_BUILDCOST
BuildTime = M_ELVEN_LINDONWARRIOR_BUILDTIME
VisionRange = M_ELVEN_LINDONWARRIOR_HORDE_VISION_RANGE
ShroudClearingRange = 161
CommandPoints = 48
FormationWidth = 2 ; Width it occupies in formations. Current choices are 1 or 2.
FormationDepth = 1 ; Depth it occupies in formations. Current choices are 1 or 2.
TransportSlotCount = 1
KindOf = SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT INFANTRY HORDE ARCHER MELEE_HORDE;UNATTACKABLE
Body = ImmortalBody ModuleTag_ImmortalBody
MaxHealth = 1
End
Behavior = HordeAIUpdate ModuleTag_HordeAIUpdate
AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS STEALTHED
MoodAttackCheckRate = 500
MaxCowerTime = 5000
MinCowerTime = 3000
CanAttackWhileContained = Yes ; Can fire out of garrisoned building
AILuaEventsList = InfantryFunctions
AttackPriority = AttackPriority_Archer
End
Behavior = HordeContain ModuleTag_HordeContain
ObjectStatusOfContained =
InitialPayload = ElvenImladrisWarrior 15
Slots = 15
PassengerFilter = NONE +INFANTRY
ShowPips = No
ThisFormationIsTheMainFormation = Yes ;Used to determine which armorset to use (and anything else we want!)
RandomOffset = X:1 Y:1
AlternateFormation = LAElvenWarriorLineFormation
; Banner Carrier info
BannerCarriersAllowed = ElvenBanner ; types of units that are allowed as banner carriers
BannerCarrierPosition = UnitType:ArnorRivendellPikeman Pos:X:70.0 Y:0.0 ; (DEFAULT) position of banner carrier for elven warrior horde
; Positions for 5
RankInfo = RankNumber:1 UnitType:ElvenImladrisWarrior Position:X:50 Y:0 Position:X:50 Y:20 Position:X:50 Y:-20 Position:X:50 Y:40 Position:X:50 Y:-40
RankInfo = RankNumber:2 UnitType:ElvenImladrisWarrior Position:X:30 Y:0 Leader 1 0 Position:X:30 Y:20 Leader 1 1 Position:X:30 Y:-20 Leader 1 2 Position:X:30 Y:40 Leader 1 3 Position:X:30 Y:-40 Leader 1 4
RankInfo = RankNumber:3 UnitType:ElvenImladrisWarrior Position:X:10 Y:0 Leader 2 0 Position:X:10 Y:20 Leader 2 1 Position:X:10 Y:-20 Leader 2 2 Position:X:10 Y:40 Leader 2 3 Position:X:10 Y:-40 Leader 2 4
RanksToReleaseWhenAttacking = 1 2 3
End
Behavior = StealthUpdate StealthUpdateModuleTag
StealthDelay = 500 ; msec
FriendlyOpacityMin = M_STEALTH_FRIENDLY_OPACITY_MIN
FriendlyOpacityMax = M_STEALTH_FRIENDLY_OPACITY_MAX
PulseFrequency = 750 ; msec
StealthForbiddenConditions = AWAY_FROM_TREES ATTACKING
OrderIdleEnemiesToAttackMeUponReveal= Yes
DetectedByAnyoneRange = 120
RevealWeaponSets = CLOSE_RANGE CONTESTING_BUILDING
End
Behavior = PhysicsBehavior ModuleTag_PhysicsBehavior
GravityMult = 1.0
End
Behavior = EmotionTrackerUpdate Module_EmotionTracker
TauntAndPointDistance = M_INFANTRY_TAUNT_POINT_RADIUS ; max distance to taunted/pointed objet
TauntAndPointUpdateDelay = 1000 ; how often scan (milliseconds)
TauntAndPointExcluded = NONE
; AfraidOf = NONE +GondorGwaihir +RohanTreeBerd +RohanEntFir +RohanEntAsh +RohanEntBirch +MordorCaveTroll +MordorMountainTroll +MordorDrummerTroll +MordorFellBeast +MordorWitchKingOnFellBeast +MordorMumakil;Must be SCARY kindof as well.
; AlwaysAfraidOf = NONE +MordorBalrog +RohanOathbreaker +MordorSauron ;+MordorWitchKing +MordorWitchKingOnFellBeast
PointAt = NONE +MordorFellBeast +MordorWitchKingOnFellBeast +GondorGwaihir
HeroScanDistance = 150
FearScanDistance = M_INFANTRY_FEAR_SCAN_RADIUS
AddEmotion = Terror_Base
AddEmotion = Doom_Base
AddEmotion = BraceForBeingCrushed_Base
AddEmotion = UncontrollableFear_Base
AddEmotion = FearIdle_Base
AddEmotion = FearBusy_Base
AddEmotion = Point_Base
AddEmotion = Taunt_Base
AddEmotion = CheerIdle_Base
AddEmotion = CheerBusy_Base
AddEmotion = HeroCheerIdle_Base
AddEmotion = HeroCheerBusy_Base
AddEmotion = Alert_Base
End
Behavior = ProductionUpdate ProductionUpdateModuleTag
GiveNoXP = Yes
End
#include "..\..\..\includes\CaptureBuilding.inc"
Behavior = LevelUpUpgrade ModuleTag_BasicTraining
TriggeredBy = Upgrade_ArnorBasicTraining
LevelsToGain = 1
LevelCap = 2
End
Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality
TriggeredBy = Upgrade_ArnorHeavyArmor
End
Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality2
TriggeredBy = Upgrade_ArnorForgedBlades
End
Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality3
TriggeredBy = Upgrade_ElvenSilverthornArrows
End
LocomotorSet
Locomotor = NormalMeleeHordeLocomotor
Condition = SET_NORMAL
Speed = M_NORMAL_GOOD_FAST_HORDE_SPEED
End
;///////////////////
; AISpecialPowers
;///////////////////
Behavior = AISpecialPowerUpdate ElvenLorienWarriorHordeCaptureBuildingAI
CommandButtonName = Command_CaptureBuilding
SpecialPowerAIType = AI_SPECIAL_POWER_CAPTURE_BUILDING
End
Behavior = AISpecialPowerUpdate GondorFighterHordeStanceBattle
CommandButtonName = Command_SetStanceBattle
SpecialPowerAIType = AI_SPECIAL_POWER_STANCEBATTLE
End
Behavior = AISpecialPowerUpdate GondorFighterHordeStanceAggressive
CommandButtonName = Command_SetStanceAggressive
SpecialPowerAIType = AI_SPECIAL_POWER_STANCEAGGRESSIVE
End
Behavior = AISpecialPowerUpdate GondorFighterHordeHoldGround
CommandButtonName = Command_SetStanceHoldGround
SpecialPowerAIType = AI_SPECIAL_POWER_STANCEHOLDGROUND
End
Behavior = AISpecialPowerUpdate ImladrisWarriorHordeToggleWeapon
CommandButtonName = Command_ToggleElvenWarriorWeapon
SpecialPowerAIType = AI_SPECIAL_POWER_TOGGLE_MELEE_AND_RANGE
End
Geometry = BOX
GeometryMajorRadius = 20.0
GeometryMinorRadius = 20.0
GeometryHeight = 20.0
GeometryIsSmall = No
End[/codebox]
92% of teens have moved onto rap. If you are part of the 8% that still listen to real music, copy and paste this into your signature
#123
Posted 19 February 2008 - 01:51 PM
Behavior = StancesBehavior ModuleTag_StancesBehavior StanceTemplate = FighterHorde End
or this:
Behavior = StancesBehavior ModuleTag_StancesBehavior StanceTemplate = ArcherHorde End
Axed Head and A.I. Coder for S.E.E. and ... stuff
".. coding is basically boring. What's fun is finding out how things work, take them apart and then put them together in ways that were not intended nor even conceived."
#126
Posted 25 February 2008 - 02:05 PM
I have done a new "Heavy Armor" skin (MLNumrean_HA.dds and MLNums_HA.dds) for Arnor Fighter, Arnor Archer and Arnor Cavalry (Cavalry has new model).
But they dont get it in-game. There is no problem with asset.dat (have replaced him 2 times)
Behavior = ArmorUpgrade ArmorUpgradeModuleTag TriggeredBy = Upgrade_ArnorHeavyArmor ArmorSetFlag = PLAYER_UPGRADE End Behavior = SubObjectsUpgrade Armor_Upgrade TriggeredBy = Upgrade_ArnorHeavyArmor UpgradeTexture = GUNumrean.tga 0 MLNumrean_HA.tga UpgradeTexture = GUNums.tga 0 MLNums_HA.tga RecolorHouse = Yes ExcludeSubobjects = Forged_Blade End
Athem
92% of teens have moved onto rap. If you are part of the 8% that still listen to real music, copy and paste this into your signature
#128
Posted 25 February 2008 - 02:10 PM
if it was an asset.dat problem, they would've become pink
But are you sure that GUNums and GUNumrean are the real textures?
If not, then check that.....
otherwise it looks okay... wierd
Damn it was a typo. Not GUNumrean but GUNumnrean.
92% of teens have moved onto rap. If you are part of the 8% that still listen to real music, copy and paste this into your signature
#129
Posted 25 February 2008 - 05:02 PM
GUNumnrean.tga
GUNumShield.tga
#131
Posted 27 February 2008 - 12:09 PM
Have tried to give a new asset but didn't work.
I've done a Model (arroyal_skn.w3d which uses GUTowerGrd_SKL) and Skin (arroyalgrd.dds):
[codebox]
//------------------------------------------------------------------------------
// aka M.H.H Royal Guard
Object ArnorTowerShieldGuard
// *** ART Parameters ***
SelectPortrait = UPGondor_TowerGuard
ButtonImage = WOR_GondorTowerGuard
Draw = W3DHordeModelDraw ModuleTag_01
OkToChangeModelColor = No
StaticModelLODMode = No
DefaultModelConditionState
Model = arroyal_skn
Skeleton = GUTowerGrd_SKL
End
AnimationState = THROWN_PROJECTILE
Animation = FLYA
AnimationName = GUTowerGrd_FLYA
AnimationMode = LOOP
End
End
AnimationState = PASSENGER FREEFALL
Animation = Grabbed
AnimationName = GUTowerGrd_FLLA
AnimationMode = LOOP
End
End
AnimationState = FREEFALL
Animation = Falling
AnimationName = GUTowerGrd_FLYA
AnimationMode = LOOP
AnimationBlendTime = 10
End
End
AnimationState = MOVING FIRING_OR_PREATTACK_A
ShareAnimation = Yes
Animation = RunAndFire
AnimationName = GUTowerGrd_ATRA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
;;=======TERROR
AnimationState = MOVING EMOTION_TERROR EMOTION_LOOK_TO_SKY
ShareAnimation = Yes
Animation = TerrorFromTheSky
AnimationName = GUTowerGrd_RUNB
AnimationMode = LOOP
End
End
AnimationState = MOVING EMOTION_TERROR
ShareAnimation = Yes
Animation = Terror
AnimationName = GUTowerGrd_RUNB
AnimationMode = LOOP
End
End
;;----------------
;;=======BACK UP
AnimationState = MOVING BACKING_UP
ShareAnimation = Yes
Animation = BackingUp
AnimationName = GUTowerGrd_BAKA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
;;--------------------
AnimationState = MOVING ALTERNATE_FORMATION
ShareAnimation = Yes
Animation = RUNA
AnimationName = GUTowerGrd_PSHA
AnimationMode = LOOP
End
Flags = RANDOMSTART
;ParticleSysBone = None InfantryDustTrails
End
AnimationState = MOVING USING_COMBO_LOCOMOTOR
ShareAnimation = Yes
Animation = RUNA
AnimationName = GUTowerGrd_WLKA
AnimationMode = LOOP
Distance = 40
End
Flags = RANDOMSTART
;ParticleSysBone = None InfantryDustTrails
End
AnimationState = MOVING
ShareAnimation = Yes
Animation = RUNA
AnimationName = GUTowerGrd_RUNA
AnimationMode = LOOP
End
Flags = RANDOMSTART
;ParticleSysBone = None InfantryDustTrails
End
AnimationState = FIRING_OR_PREATTACK_A
Animation = ATKA
AnimationName = GUTowerGrd_ATKA
AnimationMode = ONCE
UseWeaponTiming = Yes
End
;ParticleSysBone = None MeleeDust
End
AnimationState = STUNNED_FLAILING
Animation = FLYA
AnimationName = GUTowerGrd_FLYA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
AnimationState = DYING DEATH_1 SPLATTED
Animation = LNDA
AnimationName = GUTowerGrd_LNDB
AnimationMode = ONCE
End
End
AnimationState = DYING DEATH_1
Animation = DIEA
AnimationName = GUTowerGrd_DIEA
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.8 1.2
End
End
AnimationState = DYING DEATH_2
Animation = FadeOut
AnimationName = GUTowerGrd_IDLA
AnimationMode = ONCE
End
End
AnimationState = STUNNED_STANDING_UP
Animation = GTPA
AnimationName = GUTowerGrd_GTPA
AnimationMode = ONCE
AnimationSpeedFactorRange = 1.5 1.5
End
End
AnimationState = STUNNED
Animation = LNDA
AnimationName = GUTowerGrd_LNDB
AnimationMode = ONCE
End
End
TransitionState = TRANS_Plant
Animation = PLTA
AnimationName = GUTowerGrd_PLTA
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.8 1.2
End
End
TransitionState = TRANS_Unplant
Animation = PLTB
AnimationName = GUTowerGrd_PLTB
AnimationMode = ONCE
AnimationSpeedFactorRange = 0.5 1.2
End
End
;;------------------ Hit Reaction ---------------------------------------
AnimationState = HIT_REACTION
Animation = HIT REACTION
AnimationName = GUTowerGrd_HITA
AnimationMode = ONCE
End
End
;;------------------ EMOTIONS -------------------------------------------
;;======= APPREHENSIVE
AnimationState = EMOTION_ALERT EMOTION_AFRAID
ShareAnimation = Yes
Animation = Apprehensive
AnimationName = GUTowerGrd_APPA
AnimationMode = LOOP ;Change this to ONCE if adding additional anims
End
End
;;======= AFRAID
AnimationState = EMOTION_AFRAID
ShareAnimation = Yes
Animation = FERA
AnimationName = GUTowerGrd_FERA
AnimationMode = LOOP
End
Animation = FERB
AnimationName = GUTowerGrd_FERB
AnimationMode = LOOP
End
End
;;======= TAUNTING
AnimationState = EMOTION_TAUNTING ALTERNATE_FORMATION
Animation = TNTA
AnimationName = GUTowerGrd_TNTA
AnimationMode = LOOP
End
End
AnimationState = EMOTION_TAUNTING
Animation = Taunting
AnimationName = GUTowerGrd_TNTA
AnimationMode = ONCE
End
Animation = Taunting2
AnimationName = GUTowerGrd_TNTB
AnimationMode = ONCE
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End
;;======= POINTING
AnimationState = EMOTION_POINTING
Animation = Pointing1
AnimationName = GUTowerGrd_PNTA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End
;;======= CELEBRATING
AnimationState = EMOTION_CELEBRATING
Animation = CHRA
AnimationName = GUTowerGrd_CHRA
AnimationMode = LOOP
End
End
;;-------------- ALERT STATE ------------------------------------------------------------
AnimationState = EMOTION_ALERT
Animation = CHRA
AnimationName = GUTowerGrd_IDLA
AnimationMode = LOOP
End
End
;;-------------- SELECTED & IDLE --------------------------------------------------------
;;======== SELECTED
AnimationState = SELECTED ALTERNATE_FORMATION
ShareAnimation = Yes
StateName = STATE_SelectedAlternateFormation
Animation = IDLB
AnimationName = GUTowerGrd_IDLB
AnimationMode = LOOP
End
End
AnimationState = SELECTED
StateName = STATE_Selected
ShareAnimation = Yes
Animation = ATNB
AnimationName = GUTowerGrd_ATNB
AnimationMode = LOOP
End
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "STATE_Planted" then CurDrawableSetTransitionAnimState("TRANS_Unplant") end
EndScript
End
;;======== IDLE
AnimationState = ALTERNATE_FORMATION
StateName = STATE_SelectedAlternateFormation
ShareAnimation = Yes
Animation = IDLB
AnimationName = GUTowerGrd_IDLB
AnimationMode = LOOP
End
End
IdleAnimationState
StateName = STATE_Idle
Animation = IDLA
AnimationName = GUTowerGrd_IDLA
AnimationMode = ONCE
AnimationBlendTime = 15
AnimationSpeedFactorRange = 0.8 1.2
End
Animation = IDLA
AnimationName = GUTowerGrd_IDLA
AnimationMode = ONCE_BACKWARDS
AnimationBlendTime = 9
AnimationSpeedFactorRange = 0.8 1.2
End
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "STATE_Planted" then CurDrawableSetTransitionAnimState("TRANS_Unplant") end
EndScript
End
End
#include "..\..\..\includes\StunDrawModuleSmall.inc"
// ***DESIGN parameters ***
Side = Arnor
EditorSorting = UNIT
ThreatLevel = 1.0
ThingClass = HORDE_UNIT
CommandPoints = 4
BountyValue = M_GONDOR_TOWERGUARD_BOUNTY_VALUE
TransportSlotCount = M_TRANSPORTSLOTCOUNT_UNIT
WeaponSet
Conditions = None
Weapon = PRIMARY GondorTowerShieldGuardSword
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
// WeaponSet
// Conditions = PLAYER_UPGRADE
// Weapon = PRIMARY GondorTowerShieldGuardSwordUpgraded
// AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
// End
ArmorSet
Conditions = None
Armor = TowerGuardArmor
DamageFX = NormalDamageFX
End
ArmorSet
Conditions = PLAYER_UPGRADE
Armor = TowerGuardHeavyArmor
DamageFX = NormalDamageFX
End
VisionRange = M_GONDOR_TOWERGUARD_VISION_RANGE
ShroudClearingRange = M_SHROUD_CLEAR_STANDARD
VisionSide = 35%
VisionRear = 25%
MaxVisionBonusPercent = 300%
VisionBonusTestRadius = 200
VisionBonusPercentPerFoot = 2.0%
DisplayName = OBJECT:ArnorTowerShieldGuard
CrushableLevel = 0 //What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CrushRevengeWeapon = SuperInfantryCrushRevenge
CommandSet = ArnorTowerShieldGuardCommandSet
// *** AUDIO Parameters ***//
;VoiceAmbushed = TowerGuardVoiceAmbushed OBSOLETE VOICE
VoiceAttack = ArnorGuardVoiceAttack
VoiceAttackCharge = ArnorGuardVoiceAttackCharge
VoiceAttackMachine = ArnorGuardVoiceAttack
VoiceAttackStructure = TowerGuardVoiceAttackBuilding
VoiceEnterStateAttack = ArnorGuardVoiceEnterStateAttack
VoiceEnterStateAttackCharge = ArnorGuardVoiceEnterStateAttackCharge
VoiceEnterStateAttackMachine = TowerGuardVoiceEnterStateAttackBuilding
VoiceEnterStateAttackStructure = TowerGuardVoiceEnterStateAttackBuilding
VoiceCreated = TowerGuardVoiceSalute //GondorSoldierVoiceCreated
VoiceFullyCreated = TowerGuardVoiceSalute
VoiceMove = TowerGuardVoiceMove
VoiceMoveToCamp = TowerGuardVoiceMoveCamp
VoiceMoveWhileAttacking = TowerGuardVoiceDisengage
VoiceEnterStateMove = TowerGuardVoiceEnterStateMove
VoiceEnterStateMoveToCamp = TowerGuardVoiceEnterStateMoveCamp
VoiceEnterStateMoveWhileAttacking = TowerGuardVoiceEnterStateDisengage
VoicePriority = 56
VoiceRetreatToCastle = TowerGuardVoiceRetreat
VoiceEnterStateRetreatToCastle = TowerGuardVoiceEnterStateRetreat
VoiceSelect = ArnorGuardVoiceSelect
VoiceSelectBattle = TowerGuardVoiceSelectBattle //GondorSoldierVoiceSelect //GondorSoldierVoiceSelectBattle
VoiceGuard = TowerGuardVoiceMove
SoundImpact = ImpactHorse
CrowdResponseKey = GoodMen
UnitSpecificSounds
VoiceGarrison = TowerGuardVoiceGarrison
VoiceEnterUnitElvenTransportShip = TowerGuardVoiceMove
VoiceInitiateCaptureBuilding = TowerGuardVoiceMove
End
#include "..\..\..\includes\StandardUnitEvaEvents.inc"
ClientBehavior = ModelConditionAudioLoopClientBehavior ModuleTag_foo
ModelCondition = Required:RAISING_FLAG Excluded:DYING ENGAGED Sound:EmotionMenGoodCompilationBFME1and2VoxTauntSinglesLoop
End
// Tie into LargeGroupAudio system
Behavior = LargeGroupAudioUpdate ModuleTag_LGAU
Key = Humanoid_Male Man Man_Male Unit Infantry Gondor_Guard
End
ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
MaxUpdateRangeCap = 800
AnimationSound = Sound:TauntHitShieldPitchShifted Animation:GUTwrGrd_SKL.GUTwrGrd_TNTB Frames: 23 43
AnimationSound = Sound:BodyFallGeneric1 Animation:GUTWRGRD_SKL.GUTWRGRD_DIEA Frames:30 51
AnimationSound = Sound:BodyFallGeneric1 Animation:GUTWRGRD_SKL.GUTWRGRD_DIEB Frames:57
AnimationSound = Sound:BodyFallGeneric1 Animation:GUTWRGRD_SKL.GUTWRGRD_DIEC Frames:38
AnimationSound = Sound:BodyFallSoldier Animation:GUTWRGRD_SKL.GUTWRGRD_LNDA Frames:4
AnimationSound = Sound:BodyFallSoldier Animation:GUTwrGrd_SKL.GUTwrGrd_LNDB Frames:2
End
// *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY PATH_THROUGH_EACH_OTHER SCORE THROWN_OBJECT GRAB_AND_DROP
Body = ActiveBody ModuleTag_02
CheerRadius = M_EMOTION_CHEER_RADIUS
MaxHealth = M_GONDOR_TOWERGUARD_HEALTH
MaxHealthDamaged = M_GONDOR_TOWERGUARD_HEALTH_DAMAGED
BurningDeathBehavior = Yes
BurningDeathFX = FX_InfantryBurningFlame
End
; Behavior = WeaponSetUpgrade WeaponSetUpgradeModuleTag
; TriggeredBy = Upgrade_ArnorForgedBlades
; End
;Behavior = ArmorUpgrade ArmorUpgradeModuleTag
; TriggeredBy = Upgrade_ArnorHeavyArmor
; //KillArmorUpgrade = Yes //This cancels any previous armor upgrade.
; ArmorSetFlag = PLAYER_UPGRADE
;End
//-----------------------------------------------------------------------
//
// Sub objects
//
; Behavior = SubObjectsUpgrade Armor_Upgrade
; TriggeredBy = Upgrade_ArnorHeavyArmor
; UpgradeTexture = GUTowrGrd.tga 0 GUTowrGrd_HA.tga
; UpgradeTexture = GUTowrGrd_L.tga 0 GUTowrGrd_HA.tga
; RecolorHouse = Yes
; ExcludeSubobjects = Forged_Blade
; End
; Behavior = SubObjectsUpgrade ForgedBlade_Upgrade
; TriggeredBy = Upgrade_ArnorForgedBlades
; ShowSubObjects = Forged_Blade
; End
//-----------------------------------------------------------------------
Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
MoodAttackCheckRate = 500
AILuaEventsList = GondorFighterFunctions
AttackPriority = AttackPriority_Spearman
BurningDeathTime = M_BURNINGDEATH_DURATION_INFANTRY
End
LocomotorSet
Locomotor = GondorTowerShieldGuardLocomotor
Condition = SET_NORMAL
Speed = M_NORMAL_FOOT_SLOW_MEMBER_SPEED
End
LocomotorSet
Locomotor = GondorTowerShieldGuardDeployedLocomotor
Condition = SET_NORMAL_UPGRADED
Speed = M_NORMAL_FOOT_SLOW_MEMBER_SPEED
End
LocomotorSet
Locomotor = GondorTowerShieldGuardLocomotor
Condition = SET_COMBO
Speed = M_NORMAL_FOOT_SLOW_MEMBER_SPEED
End
LocomotorSet
Locomotor = BurningDeathLocomotorInfantry
Condition = SET_BURNINGDEATH
Speed = M_BURNINGDEATH_WANDERSPEED_INFANTRY
End
Behavior = PhysicsBehavior ModuleTag_04
GravityMult = 1.0
ShockStunnedTimeLow = 1400 //msec
ShockStunnedTimeHigh = 2400 //msec
ShockStandingTime = 1333 //msec
End
Behavior = SlowDeathBehavior ModuleTag_05
DeathTypes = ALL -KNOCKBACK -FADED
SinkDelay = 3000
SinkRate = 0.40 // in Dist/Sec
DestructionDelay = 8000
Sound = INITIAL HumanVoiceDie// TowerGuardVoiceDie
End
Behavior = SlowDeathBehavior ModuleTag_FadeDeath
DeathTypes = NONE +FADED
SinkDelay = 3000
SinkRate = 0.40 // in Dist/Sec
DestructionDelay = 8000
Sound = INITIAL SpellGenericUnsummonFasterMS
End
Behavior = SquishCollide ModuleTag_06
//nothing
End
Behavior = HordeMemberCollide ModuleTag_HMC
//nothing
End
Behavior = SlowDeathBehavior ModuleTag_07
// Same as normal death, but no sound (sound already played by SoundImpact = ... )
DeathTypes = NONE +KNOCKBACK
SinkDelay = 3000
SinkRate = 0.40 // in Dist/Sec
DestructionDelay = 8000
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
// The below is a good start to the actual implementation of the unit,
// if someone wants to revert back to the exact state
//Normal mode (shield is raised and unit is able to move normally)
// Behavior = GrantUpgradeCreate ModuleTag_09
// UpgradeToGrant = Upgrade_RaiseShield
// End
// Behavior = ModelConditionUpgrade ModuleTag_10
// TriggeredBy = Upgrade_RaiseShield
// RemovesUpgrades = Upgrade_PlantShield
// RemoveConditionFlags = DEPLOYED
// End
// Behavior = LocomotorSetUpgrade ModuleTag_11
// TriggeredBy = Upgrade_RaiseShield
// RemovesUpgrades = Upgrade_PlantShield
// KillLocomotorUpgrade = Yes //Removes the PlantShield locomotor.
// End
// Behavior = ArmorUpgrade ModuleTag_12
// TriggeredBy = Upgrade_RaiseShield
// RemovesUpgrades = Upgrade_PlantShield
// KillArmorUpgrade = Yes //This cancels any previous armor upgrade.
// End
//
// //Defensive mode (shield is planted -- the unit can move but much more slowly)
// Behavior = ModelConditionUpgrade ModuleTag_13
// TriggeredBy = Upgrade_PlantShield
// RemovesUpgrades = Upgrade_RaiseShield
// AddConditionFlags = DEPLOYED
// End
// Behavior = LocomotorSetUpgrade ModuleTag_14
// TriggeredBy = Upgrade_PlantShield
// RemovesUpgrades = Upgrade_RaiseShield
// End
// Behavior = ArmorUpgrade ModuleTag_15
// TriggeredBy = Upgrade_PlantShield
// RemovesUpgrades = Upgrade_RaiseShield
// End
Geometry = CYLINDER
GeometryMajorRadius = 8.0
GeometryMinorRadius = 8.0
GeometryHeight = 19.2
GeometryIsSmall = Yes
Shadow = SHADOW_DECAL
ShadowSizeX = 19//
ShadowSizeY = 19//
ShadowTexture = ShadowI//
End
[/codebox]
Horde:
[codebox]//------------------------------------------------------------------------------
Object ArnorTowerShieldGuardHorde
// This is required for garrisoned objects - please put in all objects.
ButtonImage = WOR_GondorTowerGuard
SelectPortrait = UPGondor_TowerGuard
Draw = W3DScriptedModelDraw ModuleTag_W3DModelDraw
DependencySharedModelFlags = EMOTION_ALERT EMOTION_MORALE_HIGH EMOTION_MORALE_LOW EMOTION_AFRAID EMOTION_COWER SELECTED EMOTION_TERROR EMOTION_LOOK_TO_SKY
DefaultModelConditionState
Model = None //InvisHrdeTmp5x2
End
ModelConditionState = HORDE_EMPTY
Model = None
End
ModelConditionState = WORLD_BUILDER
Model = HordeMarkGUTow
End
End
Side = Arnor
EditorSorting = UNIT
EmotionRange = 240
DisplayName = OBJECT:HordeArnorTowerGuard
DisplayNameStrategic = CONTROLBAR:LW_Unit_ArnorTowerGuardHorde
DescriptionStrategic = CONTROLBAR:LW_ToolTip_ArnorTowerGuardHorde
WeaponSet
Conditions = None
Weapon = PRIMARY TowerGuardHordeRangefinder
End
// *** AUDIO Parameters ***//
// Note: Don't put voice parameters here -- they will be ignored. Voice play requests
// are always passed through to members
BuildCost = M_GONDOR_TOWERGUARD_BUILDCOST
BuildTime = M_GONDOR_TOWERGUARD_BUILDTIME
VisionRange = M_GONDOR_TOWERGUARD_HORDE_VISION_RANGE
ShroudClearingRange = M_GONDOR_TOWERGUARD_HORDE_SHROUD_RANGE
VisionSide = 50%
VisionRear = 25%
MaxVisionBonusPercent = 300%
VisionBonusTestRadius = 200
VisionBonusPercentPerFoot = 1.0%
CommandPoints = 60
CommandSet = ArnorTowerShieldGuardCommandSet
FormationWidth = 2 // Width it occupies in formations. Current choices are 1 or 2.
FormationDepth = 1 // Depth it occupies in formations. Current choices are 1 or 2.
CrushableLevel = 0 //What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CrusherLevel = 0
TransportSlotCount = M_TRANSPORTSLOTCOUNT_SMALL_HORDE
KindOf = SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT INFANTRY HORDE ARMY_SUMMARY MELEE_HORDE PIKE LARGE_RECTANGLE_PATHFIND
#include "..\..\..\includes\StandardHordeEvaEvents.inc"
Body = ImmortalBody ModuleTag_ImmortalBody
MaxHealth = 1
End
ThreatLevel = M_GONDOR_TOWERSHIELDGUARD_HORDE_THREAT
ThreatBreakdown ArnorTowerShieldGuardHorde_DetailedThreat
AIKindOf = PIKEMAN
End
#include "..\..\..\includes\CaptureBuilding.inc"
Behavior = StancesBehavior ModuleTag_StancesBehavior
StanceTemplate = PikeHorde
End
Behavior = HordeAIUpdate ModuleTag_HordeAIUpdate
AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
MoodAttackCheckRate = 500
MaxCowerTime = 5000
MinCowerTime = 3000
AILuaEventsList = InfantryFunctions
AttackPriority = AttackPriority_Spearman
End
Behavior = HordeContain ModuleTag_HordeContain
FrontAngle = 180
FlankedDelay = 4000
ObjectStatusOfContained =
InitialPayload = ArnorTowerShieldGuard 5
Slots = 5
PassengerFilter = NONE +INFANTRY
ShowPips = No
ThisFormationIsTheMainFormation = Yes //Used to determine which armorset to use (and anything else we want!)
RandomOffset=X:0 Y:0
MeleeBehavior = Amoeba
FacingBonus = 30.0
AngleLimitCos = -0.17
InnerRange = 30
OuterRange = 80
OuterRangeBuildings = 140
End
// Banner Carrier info
BannerCarriersAllowed = ArnorInfantryBanner // types of units that are allowed as banner carriers
BannerCarrierPosition = UnitType:ArnorFighter Pos:X:70.0 Y:0.0 // (DEFAULT) position of banner carrier
RankInfo = RankNumber:1 UnitType:ArnorTowerShieldGuard Position:X:50 Y:0 Position:X:50 Y:20 Position:X:50 Y:-20 Position:X:50 Y:40 Position:X:50 Y:-40
;RankInfo = RankNumber:2 UnitType:ArnorTowerShieldGuard Position:X:30 Y:0 Leader 1 0 Position:X:30 Y:20 Leader 1 1 Position:X:30 Y:-20 Leader 1 2 Position:X:30 Y:40 Leader 1 3 Position:X:30 Y:-40 Leader 1 4
;RankInfo = RankNumber:3 UnitType:ArnorTowerShieldGuard Position:X:10 Y:0 Leader 2 0 Position:X:10 Y:20 Leader 2 1 Position:X:10 Y:-20 Leader 2 2 Position:X:10 Y:40 Leader 2 3 Position:X:10 Y:-40 Leader 2 4
RanksToReleaseWhenAttacking = 1
AlternateFormation = ArnorTowerShieldGuardHordeWallFormation
MeleeAttackLeashDistance = 1 //How far the hordes can move from the center of the horde when melee attacking.
BackUpMinDelayTime = 1 //The minimum amount of time to delay before backing up
BackUpMaxDelayTime = 3000 //The maximum amount of time to delay before backing up
BackUpMinDistance = 1 //The minimum number of cells to backup
BackUpMaxDistance = 3 //The maximum number of cells to backup
BackupPercentage = 80% //The amount of chance that a unit will back up.
End
Behavior = PhysicsBehavior ModuleTag_PhysicsBehavior
GravityMult = 1.0
End
Behavior = EmotionTrackerUpdate Module_EmotionTracker
TauntAndPointDistance = M_INFANTRY_TAUNT_POINT_RADIUS // max distance to taunted/pointed objet
TauntAndPointUpdateDelay = 1000 // how often scan (milliseconds)
TauntAndPointExcluded = NONE
AfraidOf = M_EMOTION_AFRAIDOF_OBJECTFILTER
AlwaysAfraidOf = M_EMOTION_ALWAYS_AFRAIDOF_OBJECTFILTER
PointAt = M_EMOTION_POINTAT_OBJECTFILTER
HeroScanDistance = 150
FearScanDistance = M_INFANTRY_FEAR_SCAN_RADIUS
AddEmotion = Terror_Base
AddEmotion = Doom_Base
// AddEmotion = BraceForBeingCrushed_Base // Pikemen don't fear getting crushed
AddEmotion = UncontrollableFear_Base
AddEmotion = FearIdle_Base
AddEmotion = FearBusy_Base
AddEmotion = Point_Base
AddEmotion = OVERRIDE Taunt_Base
// AttributeModifier = ArnorFighterTaunt
End
AddEmotion = CheerIdle_Base
AddEmotion = CheerBusy_Base
AddEmotion = HeroCheerIdle_Base
AddEmotion = HeroCheerBusy_Base
AddEmotion = Alert_Base
End
Behavior = PickupStuffUpdate ModuleTag_PickupStuffUpdate
SkirmishAIOnly = Yes
StuffToPickUp = NONE +CRATE
ScanRange = 200
ScanIntervalSeconds = 0.5
End
LocomotorSet
Locomotor = NormalMeleeHordeLocomotor
Condition = SET_NORMAL
Speed = M_NORMAL_FOOT_SLOW_HORDE_SPEED
End
Behavior = ProductionUpdate ProductionUpdateModuleTag
GiveNoXP = Yes
End
Behavior = LevelUpUpgrade ModuleTag_BasicTraining
TriggeredBy = Upgrade_ArnorBasicTraining
LevelsToGain = 1
LevelCap = 2
End
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Edited by Athem - Begin%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%No more upgrades, its M.H.H%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
; Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality
; TriggeredBy = Upgrade_ArnorForgedBlades
; End
; Behavior = StatusBitsUpgrade ModuleTag_ProductionLegality2
; TriggeredBy = Upgrade_ArnorHeavyArmor
; End
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Edited by Athem - End%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
/////////////////////
// AISpecialPowers
/////////////////////
Behavior = AISpecialPowerUpdate ArnorTowerShieldGuardHordeCaptureBuildingAI
CommandButtonName = Command_CaptureBuilding
SpecialPowerAIType = AI_SPECIAL_POWER_CAPTURE_BUILDING
End
Behavior = AISpecialPowerUpdate GondorFighterHordeStanceBattle
CommandButtonName = Command_SetStanceBattle
SpecialPowerAIType = AI_SPECIAL_POWER_STANCEBATTLE
End
Behavior = AISpecialPowerUpdate GondorFighterHordeStanceAggressive
CommandButtonName = Command_SetStanceAggressive
SpecialPowerAIType = AI_SPECIAL_POWER_STANCEAGGRESSIVE
End
Behavior = AISpecialPowerUpdate GondorFighterHordeHoldGround
CommandButtonName = Command_SetStanceHoldGround
SpecialPowerAIType = AI_SPECIAL_POWER_STANCEHOLDGROUND
End
Geometry = BOX
GeometryMajorRadius = 30.0
GeometryMinorRadius = 45.0
GeometryHeight = 20.0
GeometryIsSmall = No
// *** AUTO RESOLVE DATA ***
AutoResolveUnitType = AutoResolveUnit_Pikemen
AutoResolveCombatChain = AutoResolve_PikemenCombatChain
AutoResolveBody = AutoResolve_ArnorTowerGuardHordeBody
WorldMapArmoryUpgradesAllowed = Upgrade_ArnorBasicTraining
End
ChildObject ArnorTowerShieldGuardHordeWallFormation ArnorTowerShieldGuardHorde
// Note - for alternate formations, all info outside of the Contain Behavior module is ignored.
// Any modifications need to be done via the Attribute Modifiers in the contain module.
Behavior = HordeContain ModuleTag_HordeContain
FrontAngle = 360 // Can't be flanked
FlankedDelay = 2000
ObjectStatusOfContained =
InitialPayload = ArnorTowerShieldGuard 5
Slots = 5
PassengerFilter = NONE +INFANTRY
ShowPips = No
ThisFormationIsTheMainFormation = No //Used to determine which armorset to use (and anything else we want!)
RandomOffset = X:2 Y:1
RanksToReleaseWhenAttacking = 0
RanksToJustFreeWhenAttacking = 0
AttributeModifiers = ArnorTowerShieldGuardHordePorcupine
IsPorcupineFormation = Yes
AlternateFormation = ArnorTowerShieldGuardHorde
VisionRearOverride = 100%
VisionSideOverride = 100%
NotComboFormation = Yes // this formation is not suitable for combo, so it will switch out of this when combo-ing
// Banner Carrier info
BannerCarriersAllowed = ArnorInfantryBanner // types of units that are allowed as banner carriers
BannerCarrierPosition = UnitType:ArnorTowerShieldGuard Pos:X:22.0 Y:0.0 // (DEFAULT) position of banner carrier
RankInfo = RankNumber:1 UnitType:ArnorTowerShieldGuard Position:X:34 Y:0 Position:X:34 Y:10 Position:X:34 Y:-10 Position:X:34 Y:20 Position:X:34 Y:-20
End
End
[/codebox]
What's wrong?
92% of teens have moved onto rap. If you are part of the 8% that still listen to real music, copy and paste this into your signature
#132
Posted 27 February 2008 - 12:28 PM
are you sure that ar is a valid folder? AFAIK, you can' make new folders (in terms of the art that is)
if ar exists then well...
Do the model have two 'words' in a mesh? like, instead of TOWER_GUARD, it's TOWER GUARD? Because, if you use Sy's asset builder, a model will be invisible if you have two 'names' in the same mesh (mesh = one of the parts of the model, not bone though)
Edited by Lauri, 27 February 2008 - 12:29 PM.
The 4th Age version 0.8 has been released: Link
#133
Posted 27 February 2008 - 12:38 PM
it something with the model...
are you sure that ar is a valid folder? AFAIK, you can' make new folders (in terms of the art that is)
if ar exists then well...
Do the model have two 'words' in a mesh? like, instead of TOWER_GUARD, it's TOWER GUARD? Because, if you use Sy's asset builder, a model will be invisible if you have two 'names' in the same mesh (mesh = one of the parts of the model, not bone though)
This is one of the meshes: TOWERGUARD MESH maybe thats the problem? If yes need I re-do it? Other are SHIELD and then only ForgedBlade
Edited by Athem, 27 February 2008 - 12:39 PM.
92% of teens have moved onto rap. If you are part of the 8% that still listen to real music, copy and paste this into your signature
#134
Posted 27 February 2008 - 12:41 PM
So yes, unless you saved it when you were done, you'll have to redo it...
to TOWERGUARD_MESH (or just TOWERGUARD, TG, ARG, ect... no spaces atleast )
SHIELD and ForgedBlades are fine
The 4th Age version 0.8 has been released: Link
#135
Posted 27 February 2008 - 12:44 PM
there can't be spaces in the model
So yes, unless you saved it when you were done, you'll have to redo it...
to TOWERGUARD_MESH (or just TOWERGUARD, TG, ARG, ect... no spaces atleast )
SHIELD and ForgedBlades are fine
It is needed to bind it again? Because this took me 4 Hours to bind.
92% of teens have moved onto rap. If you are part of the 8% that still listen to real music, copy and paste this into your signature
#136
Posted 27 February 2008 - 03:17 PM
Another thing that could cause the error is if you used the false export settings
The right ones (for normal meshes) are:
Export geometry
Shadw
#137
Posted 27 February 2008 - 03:23 PM
The first thing you learn if working with RenX should be saving every finished model before exporting it.
Another thing that could cause the error is if you used the false export settings
The right ones (for normal meshes) are:
Export geometry
Shadw
That's what im doing. But sometimes RenX crash by me (often) and don't know why.
And it takes me a lot of time to bind vertex to good bone.
92% of teens have moved onto rap. If you are part of the 8% that still listen to real music, copy and paste this into your signature
#138
Posted 27 February 2008 - 03:25 PM
use the Autolink button first and then link just the bones by hand that look weird (shoulders for example)
it´s a lot easier
#139
Posted 27 February 2008 - 03:36 PM
No it does not
use the Autolink button first and then link just the bones by hand that look weird (shoulders for example)
it´s a lot easier
Yeap, im doing it soo, but then it crashes and I need to do it all again.
92% of teens have moved onto rap. If you are part of the 8% that still listen to real music, copy and paste this into your signature
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users