home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar 2006 April
/
Gamestar_83_2006-04_dvd.iso
/
Dema
/
lotrbfme2_demo.exe
/
INI.big
/
data_ini_object_civilian_rohanbuildings.ini
< prev
next >
Wrap
Text File
|
2006-01-31
|
56KB
|
1,959 lines
;----------------------------------------------------------------------------------------------
;
; FILE: RohanBuildings.ini
;
;----------------------------------------------------------------------------------------------
;----------------------------------------------------------------------------------------------
;
; Base gate template, note an instance of this type shouldn't be created, use a left or
; right version instead.
;
;----------------------------------------------------------------------------------------------
Object RohanCastleElevator
SelectPortrait = BRCastleWall
; *** ART Parameters ***
Draw = W3DScriptedModelDraw ModuleTag_01
OkToChangeModelColor = Yes
ExtraPublicBone = Elev01
ExtraPublicBone = Elev02
ExtraPublicBone = Elev03
ExtraPublicBone = Elev04
WallBoundsMesh = P1
DefaultModelConditionState
Model = RBCastELEV
End
ModelConditionState = WORLD_BUILDER
Model = RBCastElevW
End
IdleAnimationState
Animation
AnimationName = RBCastELEV.RBCastELEV
AnimationMode = MANUAL
AnimationBlendTime = 0
End
;Flags = START_FRAME_LAST ;uses seperate model now.
End
;------------Build Up States
ModelConditionState = BASE_BUILD
Model = RBCastELEV_A
; ParticleSysBone = NONE BuildingDoughnutCloud
ParticleSysBone = NONE BuildingContructDust
End
AnimationState = BASE_BUILD
Animation
AnimationName = RBCastELEV_A.RBCastELEV_A
AnimationMode = ONCE
AnimationSpeedFactorRange = 2.0 2.5 ; keep range wide to avoid lockstep anims
End
End
ModelConditionState = JUST_BUILT
Model = RBCastELEV_A
End
AnimationState = JUST_BUILT
Animation
AnimationName = RBCastELEV_A.RBCastELEV_A
AnimationMode = MANUAL
AnimationBlendTime = 0
End
Flags = START_FRAME_FIRST
End
ModelConditionState = ACTIVELY_BEING_CONSTRUCTED
Model = RBCastELEV_A
ParticleSysBone = NONE BuildingContructDust
End
AnimationState = ACTIVELY_BEING_CONSTRUCTED
Animation
AnimationName = RBCastELEV_A.RBCastELEV_A
AnimationMode = MANUAL
AnimationBlendTime = 0
End
Flags = START_FRAME_FIRST
End
ModelConditionState = DAMAGED
Model = RBCastElev_D1
End
AnimationState = DAMAGED
; EnteringStateFX = FX_RohanWallDamaged
End
ModelConditionState = REALLYDAMAGED
Model = RBCastElev_D2
End
AnimationState = REALLYDAMAGED
Animation = ReallyDamagedanimation
AnimationName = RBCastElev_D2.RBCastElev_D2
AnimationMode = ONCE
End
; EnteringStateFX = FX_RohanWallReallyDamaged
End
ModelConditionState = RUBBLE
Model = RBCastElev_D3
ParticleSysBone NONE Explosion3
ParticleSysBone NONE ExplosiveMineSmoke02
End
AnimationState = RUBBLE
Animation = Death
AnimationName = RBCastElev_D3.RBCastElev_D3
AnimationMode = ONCE
End
EnteringStateFX = FX_WallDie
;EnteringStateFX = FX_RohanWallRubble
End
ModelConditionState = POST_RUBBLE
Model = None
End
ModelConditionState = POST_COLLAPSE
Model = None
End
End
;----------------------- AUDIO -------------------------
VoiceSelect = Gui_PlotSelect
SoundOnDamaged = BuildingLightDamageWood
SoundOnReallyDamaged = BuildingHeavyDamageWood
;VoiceSelectUnderConstruction = BuildingEvilVoiceSelectUnderConstruction
;UnitSpecificSounds
; UnderConstruction = BuildingConstructionLoop
;End
; ***DESIGN parameters ***
DisplayName = OBJECT:RohanCastleElevator
Side = Obsolete
EditorSorting = STRUCTURE
; Browser = CINEMATICS UNIT
BuildTime = CASTLE_WALL_REBUILD_TIME
BuildCost = CASTLE_WALL_REBUILD_COST
VisionRange = 160.0 ; Shroud clearing distance
ShroudClearingRange = 160
ArmorSet
Conditions = None
Armor = RohanCastleWall
DamageFX = RohanWallDamageFX
End
; *** ENGINEERING Parameters ***
KindOf = STRUCTURE SELECTABLE IMMOBILE WALK_ON_TOP_OF_WALL NOT_AUTOACQUIRABLE
RadarPriority = NOT_ON_RADAR
KeepSelectableWhenDead = Yes
CommandSet = GenericSelfRepairCommandSet
Body = ActiveBody ModuleTag_02
MaxHealth = ROHAN_CASTLE_WALL_HEALTH
End
Behavior = DynamicPortalBehaviour Portal
GenerateNow = Yes
ObjectFilter = ANY +INFANTRY -MONSTER -MACHINE -CAVALRY -ARMY_OF_DEAD
AllowEnemies = Yes ; Normally, only allies can use this
BonePrefix = Elev
NumberOfBones = 4
WayPoint = Index:0 Type:PreClimb ; 0
WayPoint = Index:1 Type:PreClimb ; 1
WayPoint = Index:2 Type:Climb ; 2
WayPoint = Index:3 Type:Climb ; 3 top right
WayPoint = Index:2 Type:Climb ; 4
WayPoint = Index:1 Type:Climb ; 5
Link = From:0 Via:4 Via:5 To:3 ; up, to centre
Link = From:3 Via:1 Via:2 To:0 ; down, from centre
End
Behavior = KeepObjectDie ModuleTag_IWantRubble
End
Behavior = GettingBuiltBehavior ModuleTag_GettingBuilt
SelfBuildingLoop = BuildingConstructionLoop ; Only played if we DON'T spawn a worker
SelfRepairFromDamageLoop = NoSound ; This doesn't cause an animation, so don't bother playing a sound
SelfRepairFromRubbleLoop = BuildingConstructionLoop
SpawnTimer = -1.0 ; Negative means no 'autoheal'
RebuildTimeSeconds = CASTLE_WALL_REBUILD_TIME
End
Behavior = AttributeModifierAuraUpdate ModuleTag_WallBonus
StartsActive = Yes ;If no, requires upgrade to turn on.
BonusName = WallBonus
RefreshDelay = 2000
;Range = 120 ; Range is overridden to affect people on us since we are a wall
;TargetEnemy = Yes ; Alliances are ignored to affect people on us since we are a wall
End
Behavior = CastleMemberBehavior ModuleTag_CMB
CountsForEvaCastleBreached = Yes ; Visually a part of wall
End
Behavior = FireWeaponWhenDeadBehavior FireDeadTag2
DeathTypes = ALL
StartsActive = Yes
ActiveDuringConstruction = Yes
DeathWeapon = StandardWallDeath
End
Geometry = BOX
GeometryMajorRadius = 50.0
GeometryMinorRadius = 20.0
GeometryHeight = 45.0
AdditionalGeometry = BOX
GeometryMajorRadius = 30.0
GeometryMinorRadius = 30.0
GeometryHeight = 1.0
GeometryOffset = X:0 Y:55 Z:0
GeometryIsSmall = No
Shadow = SHADOW_VOLUME
GeometryContactPoint = X:-3.287 Y:26.482 Z:56.385 Swoop
GeometryContactPoint = X:0 Y:0 Z:0
End
;----------------------------------------------------------------------------------------------
Object RohanCastleWall
SelectPortrait = BRCastleWall
Draw = W3DScriptedModelDraw Draw_Wall
OkToChangeModelColor = Yes
WallBoundsMesh = P1
DefaultModelConditionState
Model = RBCastWALL
End
ModelConditionState = WORLD_BUILDER
Model = RBCastWallW
End
ModelConditionState = BASE_BUILD
Model = RBCastWall_A
End
AnimationState = BASE_BUILD
Animation
AnimationName = RBCastWALL_A.RBCastWALL_A
AnimationMode = ONCE
AnimationSpeedFactorRange = 1.5 2.5 ; keep range wide to avoid lockstep anims
End
End
ModelConditionState = JUST_BUILT
Model = RBCastWall_A
End
AnimationState = JUST_BUILT
StateName = STATE_None
Animation
AnimationName = RBCastWALL_A.RBCastWALL_A
AnimationMode = MANUAL
End
Flags = START_FRAME_FIRST
End
ModelConditionState = ACTIVELY_BEING_CONSTRUCTED
Model = RBCastWall_A
End
AnimationState = ACTIVELY_BEING_CONSTRUCTED
Animation
AnimationName = RBCastWALL_A.RBCastWALL_A
AnimationMode = MANUAL
End
Flags = START_FRAME_FIRST
End
ModelConditionState = DAMAGED
Model = RBCastWALL_D1
End
AnimationState = DAMAGED
; EnteringStateFX = FX_RohanWallDamaged
End
ModelConditionState = REALLYDAMAGED
Model = RBCastWALL_D2
End
AnimationState = REALLYDAMAGED
Animation = ReallyDamagedanimation
AnimationName = RBCastWALL_D2.RBCastWALL_D2
AnimationMode = ONCE
End
; EnteringStateFX = FX_RohanWallReallyDamaged
End
ModelConditionState = RUBBLE
Model = RBCastWall_D3
ParticleSysBone NONE TrebuchetImpactSplinters
ParticleSysBone NONE ExplosiveMineFire02
End
AnimationState = RUBBLE
Animation = Death
AnimationName = RBCastWALL_D3.RBCastWALL_D3
AnimationMode = ONCE
End
EnteringStateFX = FX_WallDie
;EnteringStateFX = FX_RohanWallRubble
End
ModelConditionState = POST_RUBBLE
Model = None
End
ModelConditionState = POST_COLLAPSE
Model = None
End
End
;----------------------- AUDIO -------------------------
VoiceSelect = Gui_PlotSelect
SoundOnDamaged = BuildingLightDamageWood
SoundOnReallyDamaged = BuildingHeavyDamageWood
; ***DESIGN parameters ***
DisplayName = OBJECT:RohanCastleWall
EditorSorting = STRUCTURE
Side = Obsolete
BuildTime = CASTLE_WALL_REBUILD_TIME
BuildCost = CASTLE_WALL_REBUILD_COST
ShroudClearingRange = 160
ArmorSet
Conditions = None
Armor = RohanCastleWall
DamageFX = RohanWallDamageFX
End
; *** ENGINEERING Parameters ***
KindOf = STRUCTURE IMMOBILE WALK_ON_TOP_OF_WALL CHUNK_VENDOR SELECTABLE NOT_AUTOACQUIRABLE
RadarPriority = NOT_ON_RADAR
KeepSelectableWhenDead = Yes
CommandSet = GenericSelfRepairCommandSet
Body = ActiveBody ModuleTag_02
MaxHealth = ROHAN_CASTLE_WALL_HEALTH
End
Behavior = SiegeDockingBehavior ModuleTag_SiegeDocking
End
Behavior = CastleMemberBehavior ModuleTag_CMB
CountsForEvaCastleBreached = Yes
End
Behavior = GettingBuiltBehavior ModuleTag_GettingBuilt
SelfBuildingLoop = BuildingConstructionLoop ; Only played if we DON'T spawn a worker
SelfRepairFromDamageLoop = NoSound ; This doesn't cause an animation, so don't bother playing a sound
SelfRepairFromRubbleLoop = BuildingConstructionLoop
SpawnTimer = -1.0 ; Negative means no 'autoheal'
RebuildTimeSeconds = CASTLE_WALL_REBUILD_TIME
End
; Behavior = FoundationAIUpdate ModuleTag_foundationAI
; End
Behavior = KeepObjectDie ModuleTag_IWantRubble
End
Behavior = AttributeModifierAuraUpdate ModuleTag_WallBonus
StartsActive = Yes ;If no, requires upgrade to turn on.
BonusName = WallBonus
RefreshDelay = 2000
;Range = 120 ; Range is overridden to affect people on us since we are a wall
;TargetEnemy = Yes ; Alliances are ignored to affect people on us since we are a wall
End
Behavior = FireWeaponWhenDeadBehavior FireDeadTag1
DeathTypes = ALL
StartsActive = Yes
ActiveDuringConstruction = Yes
DeathWeapon = CastleWallDeath
End
Behavior = FireWeaponWhenDeadBehavior FireDeadTag2
DeathTypes = ALL
StartsActive = Yes
ActiveDuringConstruction = Yes
DeathWeapon = StandardWallDeath
End
Geometry = BOX
GeometryMajorRadius = 55.0
GeometryMinorRadius = 30.0
GeometryHeight = 45.0
GeometryContactPoint = X:-50 Y:-40 Z:0 Grab
GeometryContactPoint = X:0 Y:-40 Z:40 Grab
GeometryContactPoint = X:50 Y:-40 Z:0 Grab
GeometryContactPoint = X:-50 Y:40 Z:0 Grab
GeometryContactPoint = X:0 Y:40 Z:40 Grab
GeometryContactPoint = X:50 Y:40 Z:0 Grab
GeometryIsSmall = No
Shadow = SHADOW_VOLUME
End
;----------------------------------------------------------------------------------------------
Object RohanEdorasWall
SelectPortrait = BRCastleWall
Draw = W3DScriptedModelDraw Draw_Wall
OkToChangeModelColor = Yes
WallBoundsMesh = P1
DefaultModelConditionState
Model = RBEdorWall
End
ModelConditionState = WORLD_BUILDER
Model = RBCastWallW
End
ModelConditionState = JUST_BUILT
Model = RBEdorWall_A
End
AnimationState = JUST_BUILT
Animation
AnimationName = RBEdorWall_A.RBEdorWall_A
AnimationMode = ONCE
AnimationSpeedFactorRange = 1.0 2.5 ; keep range wide to avoid lockstep anims
End
End
ModelConditionState = ACTIVELY_BEING_CONSTRUCTED
Model = RBEdorWall_A
End
AnimationState = ACTIVELY_BEING_CONSTRUCTED
Animation
AnimationName = RBEdorWall_A.RBEdorWall_A
AnimationMode = MANUAL
End
Flags = START_FRAME_FIRST
End
ModelConditionState = DAMAGED
Model = RBEdorWall_D1
End
AnimationState = DAMAGED
; EnteringStateFX = FX_RohanWallDamaged
End
ModelConditionState = REALLYDAMAGED
Model = RBEdorWall_D2
End
AnimationState = REALLYDAMAGED
Animation = ReallyDamagedanimation
AnimationName = RBEdorWall_D2.RBEdorWall_D2
AnimationMode = ONCE
End
; EnteringStateFX = FX_RohanWallReallyDamaged
End
ModelConditionState = RUBBLE
Model = RBCastWall_D3
ParticleSysBone NONE TrebuchetImpactSplinters
ParticleSysBone NONE ExplosiveMineFire02
End
AnimationState = RUBBLE
Animation = Death
AnimationName = RBCastWALL_D3.RBCastWALL_D3
AnimationMode = ONCE
End
EnteringStateFX = FX_WallDie
;EnteringStateFX = FX_RohanWallRubble
End
ModelConditionState = POST_RUBBLE
Model = None
End
ModelConditionState = POST_COLLAPSE
Model = None
End
End
;----------------------- AUDIO -------------------------
VoiceSelect = Gui_PlotSelect
SoundOnDamaged = BuildingLightDamageWood
SoundOnReallyDamaged = BuildingHeavyDamageWood
; ***DESIGN parameters ***
DisplayName = OBJECT:RohanCastleWall
EditorSorting = STRUCTURE
Side = Obsolete
BuildTime = CASTLE_WALL_REBUILD_TIME
BuildCost = CASTLE_WALL_REBUILD_COST
ShroudClearingRange = 160
ArmorSet
Conditions = None
Armor = RohanCastleWall
DamageFX = RohanWallDamageFX
End
; *** ENGINEERING Parameters ***
KindOf = STRUCTURE IMMOBILE WALK_ON_TOP_OF_WALL CHUNK_VENDOR SELECTABLE NOT_AUTOACQUIRABLE
RadarPriority = NOT_ON_RADAR
KeepSelectableWhenDead = Yes
CommandSet = GenericSelfRepairCommandSet
Body = ActiveBody ModuleTag_02
MaxHealth = ROHAN_CASTLE_WALL_HEALTH
End
Behavior = SiegeDockingBehavior ModuleTag_SiegeDocking
End
Behavior = CastleMemberBehavior ModuleTag_CMB
CountsForEvaCastleBreached = Yes
End
Behavior = GettingBuiltBehavior ModuleTag_GettingBuilt
SelfBuildingLoop = BuildingConstructionLoop ; Only played if we DON'T spawn a worker
SelfRepairFromDamageLoop = NoSound ; This doesn't cause an animation, so don't bother playing a sound
SelfRepairFromRubbleLoop = BuildingConstructionLoop
SpawnTimer = -1.0 ; Negative means no 'autoheal'
End
; Behavior = FoundationAIUpdate ModuleTag_foundationAI
; End
Behavior = KeepObjectDie ModuleTag_IWantRubble
End
Behavior = AttributeModifierAuraUpdate ModuleTag_WallBonus
StartsActive = Yes ;If no, requires upgrade to turn on.
BonusName = WallBonus
RefreshDelay = 2000
;Range = 120 ; Range is overridden to affect people on us since we are a wall
;TargetEnemy = Yes ; Alliances are ignored to affect people on us since we are a wall
End
Behavior = FireWeaponWhenDeadBehavior FireDeadTag1
DeathTypes = ALL
StartsActive = Yes
ActiveDuringConstruction = Yes
DeathWeapon = CastleWallDeath
End
Behavior = FireWeaponWhenDeadBehavior FireDeadTag2
DeathTypes = ALL
StartsActive = Yes
ActiveDuringConstruction = Yes
DeathWeapon = StandardWallDeath
End
Geometry = BOX
GeometryMajorRadius = 55.0
GeometryMinorRadius = 30.0
GeometryHeight = 45.0
GeometryContactPoint = X:-50 Y:-40 Z:0 Grab
GeometryContactPoint = X:0 Y:-40 Z:40 Grab
GeometryContactPoint = X:50 Y:-40 Z:0 Grab
GeometryContactPoint = X:-50 Y:40 Z:0 Grab
GeometryContactPoint = X:0 Y:40 Z:40 Grab
GeometryContactPoint = X:50 Y:40 Z:0 Grab
GeometryIsSmall = No
Shadow = SHADOW_VOLUME
End
;----------------------------------------------------------------------------------------------
Object RohanCastleBridge
; *** ART Parameters ***
Draw = W3DScriptedModelDraw ModuleTag_01
;WallBoundsMesh = P01
RampMesh1 = Ramp01
RampMesh2 = Ramp02
RaisedWallMesh = P01
DefaultModelConditionState
Model = RBCastBrdg
End
IdleAnimationState
Animation
AnimationName = RBCastBrdg.RBCastBrdg
AnimationMode = MANUAL
AnimationBlendTime = 0
End
Flags = START_FRAME_LAST
End
;------------Build Up States
ModelConditionState = BASE_BUILD
Model = RBCastBrdg
; ParticleSysBone = NONE BuildingDoughnutCloud
ParticleSysBone = NONE BuildingContructDust
End
AnimationState = BASE_BUILD
Animation
AnimationName = RBCastBrdg.RBCastBrdg
AnimationMode = ONCE
AnimationSpeedFactorRange = 2.0 2.5 ; keep range wide to avoid lockstep anims
End
End
AnimationState = JUST_BUILT
Animation
AnimationName = RBCastBrdg.RBCastBrdg
AnimationMode = MANUAL
AnimationBlendTime = 0
End
Flags = START_FRAME_FIRST
End
ModelConditionState = DAMAGED
Model = RBCastBrdg_D1
; ParticleSysBone emberBone01 SmokeBuildingLarge
End
AnimationState = DAMAGED
End
ModelConditionState = REALLYDAMAGED
Model = RBCastBrdg_D2
; ParticleSysBone emberBone01 SmokeBuildingLarge
End
AnimationState = REALLYDAMAGED
Animation = ReallyDamagedanimation
AnimationName = RBCastBrdg_D2.RBCastBrdg_D2
AnimationMode = ONCE
; AnimationSpeedFactorRange = 0.5 0.5
End
End
ModelConditionState = ACTIVELY_BEING_CONSTRUCTED
Model = RBCastBrdg_D1
; ParticleSysBone emberBone01 SmokeBuildingLarge
End
ModelConditionState = RUBBLE
Model = RBCastBrdg_D3
; ParticleSysBone emberBone01 TrebuchetImpactDebris
; ParticleSysBone emberBone02 SmokeBuildingLarge
; ParticleSysBone emberBone03 PCTMediumDust
End
AnimationState = RUBBLE
Animation = Death
AnimationName = RBCastBrdg_D3.RBCastBrdg_D3
AnimationMode = ONCE
; AnimationSpeedFactorRange = 0.5 0.5
End
EnteringStateFX = FX_WallDie
End
ModelConditionState = POST_RUBBLE
Model = None
ParticleSysBone NONE SmokeBuildingMediumRubble
End
ModelConditionState = POST_COLLAPSE
Model = None
ParticleSysBone NONE SmokeBuildingMediumRubble
End
End
;----------------------- AUDIO -------------------------
SoundOnDamaged = BuildingLightDamageWood
SoundOnReallyDamaged = BuildingHeavyDamageWood
; ***DESIGN parameters ***
DisplayName = OBJECT:RohanCastleGate
Side = Obsolete
EditorSorting = STRUCTURE
; Browser = CINEMATICS UNIT
ArmorSet
Conditions = None
Armor = RohanCastleWall
DamageFX = RohanWallDamageFX
End
; *** ENGINEERING Parameters ***
; KindOf = STRUCTURE SELECTABLE IMMOBILE
; RadarPriority = STRUCTURE
; Body = ActiveBody ModuleTag_03
; MaxHealth = 2000.0
; End
KindOf = STRUCTURE IMMOBILE CHUNK_VENDOR SELECTABLE WALK_ON_TOP_OF_WALL NOT_AUTOACQUIRABLE
KeepSelectableWhenDead = Yes
RadarPriority = NOT_ON_RADAR
Body = ActiveBody ModuleTag_03
MaxHealth = 6000.0
MaxHealthDamaged = 3000.0
MaxHealthReallyDamaged = 1000.0
GrabObject = EntThrownBuildingRock
GrabFX = FX_WallGrab
GrabDamage = 490
GrabOffset = X:16 Y:0
End
; Note that structures with "RUBBLE" states should not use DestroyDie; such buildings are
; never truly destroyed, even when reduced to zero health. Also note that garrisonable
; buildings automatically stick around because GarrisonContain has it's own DieModule
; Behavior = SlowDeathBehavior ModuleTag_SlowDeathWithoutRubble
; DestructionDelay = 5000
; End
Behavior = KeepObjectDie ModuleTag_IWantRubble
End
Behavior = CastleMemberBehavior ModuleTag_CMB
CountsForEvaCastleBreached = No ; Even if walkway over gate is gone, enemy cannot enter castle
End
; These are bunched-up together on purpose
BuildCost = 0 ; for free, since this serves no purpose
CommandSet = GenericSelfRepairCommandSet ;
Behavior = GettingBuiltBehavior ModuleTag_GettingBuilt
SelfBuildingLoop = BuildingConstructionLoop ; Only played if we DON'T spawn a worker
SelfRepairFromDamageLoop = NoSound ; This doesn't cause an animation, so don't bother playing a sound
SelfRepairFromRubbleLoop = BuildingConstructionLoop
SpawnTimer = -1.0 ; Negative means no 'autoheal'
RebuildTimeSeconds = 15 ; nice and fast, so we don;t visually block the gateway
End
Geometry = BOX
GeometryMajorRadius = 90.0
GeometryMinorRadius = 32.5
GeometryHeight = 15.0
GeometryOffset = X:0 Y:10 Z:60
AdditionalGeometry = BOX
GeometryMajorRadius = 20.0
GeometryMinorRadius = 32.5
GeometryHeight = 75.0
GeometryOffset = X:70 Y:10 Z:0
AdditionalGeometry = BOX
GeometryMajorRadius = 20.0
GeometryMinorRadius = 32.5
GeometryHeight = 75.0
GeometryOffset = X:70 Y:10 Z:0
GeometryContactPoint = X:-50 Y:0 Z:60
GeometryContactPoint = X:0 Y:0 Z:60
GeometryContactPoint = X:50 Y:0 Z:60
GeometryContactPoint = X:60 Y:-40 Z:0
GeometryContactPoint = X:67 Y:0 Z:60
GeometryContactPoint = X:75 Y:-40 Z:0 Grab
GeometryContactPoint = X:75 Y:65 Z:0 Grab
GeometryContactPoint = X:60 Y:65 Z:0
GeometryIsSmall = No
Shadow = SHADOW_VOLUME
End
;----------------------------------------------------------------------------------------------
Object RohanEdorasBridge
; *** ART Parameters ***
Draw = W3DScriptedModelDraw ModuleTag_01
;WallBoundsMesh = P01
RampMesh1 = Ramp01
RampMesh2 = Ramp02
RaisedWallMesh = P01
DefaultModelConditionState
Model = RBEdorBrdg
End
ModelConditionState = WORLD_BUILDER
Model = RBEdorBrdgW
End
IdleAnimationState
Animation
AnimationName = RBEdorBrdg.RBEdorBrdg
AnimationMode = MANUAL
AnimationBlendTime = 0
End
Flags = START_FRAME_LAST
End
;------------Build Up States
ModelConditionState = BASE_BUILD
Model = RBEdorBrdg
; ParticleSysBone = NONE BuildingDoughnutCloud
ParticleSysBone = NONE BuildingContructDust
End
AnimationState = BASE_BUILD
Animation
AnimationName = RBEdorBrdg.RBEdorBrdg
AnimationMode = ONCE
AnimationSpeedFactorRange = 2.0 2.5 ; keep range wide to avoid lockstep anims
End
End
AnimationState = JUST_BUILT
Animation
AnimationName = RBEdorBrdg.RBEdorBrdg
AnimationMode = MANUAL
AnimationBlendTime = 0
End
Flags = START_FRAME_FIRST
End
ModelConditionState = DAMAGED
Model = RBEdorBrdg_D1
; ParticleSysBone emberBone01 SmokeBuildingLarge
End
AnimationState = DAMAGED
End
ModelConditionState = REALLYDAMAGED
Model = RBEdorBrdg_D2
; ParticleSysBone emberBone01 SmokeBuildingLarge
End
AnimationState = REALLYDAMAGED
Animation = ReallyDamagedanimation
AnimationName = RBEdorBrdg_D2.RBEdorBrdg_D2
AnimationMode = ONCE
; AnimationSpeedFactorRange = 0.5 0.5
End
End
ModelConditionState = ACTIVELY_BEING_CONSTRUCTED
Model = RBEdorBrdg_D1
; ParticleSysBone emberBone01 SmokeBuildingLarge
End
AnimationState = ACTIVELY_BEING_CONSTRUCTED
Animation = construct
AnimationName = RBEdorBrdg_D3.RBEdorBrdg_D3
AnimationMode = ONCE
End
End
ModelConditionState = RUBBLE
Model = RBEdorBrdg_D3
; ParticleSysBone emberBone01 TrebuchetImpactDebris
; ParticleSysBone emberBone02 SmokeBuildingLarge
; ParticleSysBone emberBone03 PCTMediumDust
End
AnimationState = RUBBLE
Animation = Death
AnimationName = RBEdorBrdg_D3.RBEdorBrdg_D3
AnimationMode = ONCE
; AnimationSpeedFactorRange = 0.5 0.5
End
EnteringStateFX = FX_WallDie
End
ModelConditionState = POST_RUBBLE
Model = None
ParticleSysBone NONE SmokeBuildingMediumRubble
End
ModelConditionState = POST_COLLAPSE
Model = None
ParticleSysBone NONE SmokeBuildingMediumRubble
End
End
;----------------------- AUDIO -------------------------
SoundOnDamaged = BuildingLightDamageWood
SoundOnReallyDamaged = BuildingHeavyDamageWood
; ***DESIGN parameters ***
DisplayName = OBJECT:RohanCastleGate
Side = Obsolete
EditorSorting = STRUCTURE
; Browser = CINEMATICS UNIT
ArmorSet
Conditions = None
Armor = RohanCastleWall
DamageFX = RohanWallDamageFX
End
; *** ENGINEERING Parameters ***
; KindOf = STRUCTURE SELECTABLE IMMOBILE
; RadarPriority = STRUCTURE
; Body = ActiveBody ModuleTag_03
; MaxHealth = 2000.0
; End
KindOf = STRUCTURE IMMOBILE CHUNK_VENDOR SELECTABLE WALK_ON_TOP_OF_WALL NOT_AUTOACQUIRABLE
KeepSelectableWhenDead = Yes
RadarPriority = NOT_ON_RADAR
Body = ActiveBody ModuleTag_03
MaxHealth = 6000.0
MaxHealthDamaged = 3000.0
MaxHealthReallyDamaged = 1000.0
GrabObject = EntThrownBuildingRock
GrabFX = FX_WallGrab
GrabDamage = 490
GrabOffset = X:16 Y:0
End
; Note that structures with "RUBBLE" states should not use DestroyDie; such buildings are
; never truly destroyed, even when reduced to zero health. Also note that garrisonable
; buildings automatically stick around because GarrisonContain has it's own DieModule
; Behavior = SlowDeathBehavior ModuleTag_SlowDeathWithoutRubble
; DestructionDelay = 5000
; End
Behavior = KeepObjectDie ModuleTag_IWantRubble
End
Behavior = CastleMemberBehavior ModuleTag_CMB
CountsForEvaCastleBreached = No ; Even if walkway over gate is gone, enemy cannot enter castle
End
; These are bunched-up together on purpose
BuildCost = 0 ; for free, since this serves no purpose
CommandSet = GenericSelfRepairCommandSet ;
Behavior = GettingBuiltBehavior ModuleTag_GettingBuilt
SelfBuildingLoop = BuildingConstructionLoop ; Only played if we DON'T spawn a worker
SelfRepairFromDamageLoop = NoSound ; This doesn't cause an animation, so don't bother playing a sound
SelfRepairFromRubbleLoop = BuildingConstructionLoop
SpawnTimer = -1.0 ; Negative means no 'autoheal'
RebuildTimeSeconds = 15 ; nice and fast, so we don;t visually block the gateway
End
Geometry = BOX
GeometryMajorRadius = 90.0
GeometryMinorRadius = 32.5
GeometryHeight = 15.0
GeometryOffset = X:0 Y:10 Z:60
AdditionalGeometry = BOX
GeometryMajorRadius = 20.0
GeometryMinorRadius = 32.5
GeometryHeight = 75.0
GeometryOffset = X:108 Y:10 Z:0
AdditionalGeometry = BOX
GeometryMajorRadius = 20.0
GeometryMinorRadius = 32.5
GeometryHeight = 75.0
GeometryOffset = X:-108 Y:10 Z:0
GeometryIsSmall = No
Shadow = SHADOW_VOLUME
End
;----------------------------------------------------------------------------------------------
Object RohanCastleUpgrade
SelectPortrait = BRCastleWall
; *** ART Parameters ***
Draw = W3DScriptedModelDraw Draw_Trebuchet
OkToChangeModelColor = Yes
; Don't want to change the hidden state of this when the postern gate is stealthed.
AffectedByStealth = No
DefaultModelConditionState
Model = RBCastFlag_A
End
ModelConditionState = WORLD_BUILDER
Model = RBCastFlagW
End
IdleAnimationState
StateName = Complete
BeginScript
CurDrawableHideModule("Draw_Trebuchet")
EndScript
End
ModelConditionState = SOLD
Model = RBCastFlag_A
End
AnimationState = SOLD
Animation
AnimationName = RBCastFlag_A.RBCastFlag_A
AnimationMode = ONCE_BACKWARDS
AnimationSpeedFactorRange = 3.0 3.0
End
Flags = START_FRAME_LAST
EnteringStateFX = FX_BuildingContructDustRohanCastles
End
ModelConditionState = UPGRADE_TREBUCHET DAMAGED
Model = RBCastFlag_D1
ParticleSysBone = NONE WallUpgHeroFX
End
AnimationState = UPGRADE_TREBUCHET DAMAGED
; EnteringStateFX = FX_RohanWallDamaged
End
ModelConditionState = UPGRADE_TREBUCHET REALLYDAMAGED
Model = RBCastFlag_D2
ParticleSysBone = NONE WallUpgHeroFX
End
AnimationState = UPGRADE_TREBUCHET REALLYDAMAGED
Animation = ReallyDamagedanimation
AnimationName = RBCastFlag_D2.RBCastFlag_D2
AnimationMode = ONCE
End
; EnteringStateFX = FX_RohanWallReallyDamaged
End
ModelConditionState = UPGRADE_TREBUCHET RUBBLE
Model = RBCastFlag_D3
End
AnimationState = UPGRADE_TREBUCHET RUBBLE
StateName = Complete
Animation = Death
AnimationName = RBCastFlag_D3.RBCastFlag_D3
AnimationMode = ONCE
End
; EnteringStateFX = FX_RohanWallRubble
EnteringStateFX = FX_WallDie
End
ModelConditionState = UPGRADE_TREBUCHET POST_RUBBLE
Model = None
End
ModelConditionState = UPGRADE_TREBUCHET POST_COLLAPSE
Model = None
End
ModelConditionState = UPGRADE_TREBUCHET
Model = RBCastFlag_A
ParticleSysBone = NONE WallUpgHeroFX
End
TransitionState = TRANS_IdleToBuild
Animation
AnimationName = RBCastFlag_A.RBCastFlag_A
AnimationMode = ONCE
AnimationSpeedFactorRange = GONDOR_WALLTREBUCHET_BUILD_SPEED GONDOR_WALLTREBUCHET_BUILD_SPEED
End
EnteringStateFX = FX_BuildingContructDustRohanCastles
End
AnimationState = UPGRADE_TREBUCHET
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "Complete" then CurDrawableSetTransitionAnimState("TRANS_IdleToBuild") end
EndScript
Flags = START_FRAME_LAST
Animation
AnimationName = RBCastFlag_A.RBCastFlag_A
AnimationMode = ONCE
End
End
End
;----------------------------------------------------------------------------------------------
Draw = W3DScriptedModelDraw Draw_Picker
; Don't want to change the hidden state of this when the postern gate is stealthed.
AffectedByStealth = No
DefaultModelConditionState
Model = RBCastWallOB
End
End
;----------------------------------------------------------------------------------------------
Draw = W3DScriptedModelDraw Draw_Decal
; Don't want to change the hidden state of this when the postern gate is stealthed.
AffectedByStealth = No
DefaultModelConditionState
Model = RBCastWallBF
End
IdleAnimationState
BeginScript
CurDrawableShowModule("Draw_Decal")
CurDrawableShowModule("Draw_Picker")
EndScript
End
AnimationState = JUST_BUILT
BeginScript
CurDrawableHideModule("Draw_Decal")
CurDrawableShowModule("Draw_Picker")
EndScript
End
AnimationState = SOLD
BeginScript
CurDrawableHideModule("Draw_Decal"); since the command is not yet available
EndScript
End
AnimationState = RUBBLE
BeginScript
CurDrawableHideModule("Draw_Decal")
CurDrawableHideModule("Draw_Picker")
EndScript
End
AnimationState = UPGRADE_POSTERN_GATE
BeginScript
CurDrawableShowModule("Draw_PosternGate")
CurDrawableShowModule("Draw_Decal") ; Don't want to hide the decal cause this would give away our stealthed gate.
;
CurDrawableHideModule("Draw_Tower")
CurDrawableHideModule("Draw_Trebuchet")
CurDrawableHideModule("Draw_Picker")
EndScript
End
AnimationState = UPGRADE_TREBUCHET
BeginScript
CurDrawableShowModule("Draw_Trebuchet")
;
CurDrawableHideModule("Draw_Decal")
CurDrawableHideModule("Draw_PosternGate")
CurDrawableHideModule("Draw_Tower")
CurDrawableHideModule("Draw_Picker")
EndScript
End
AnimationState = UPGRADE_GARRISON
BeginScript
CurDrawableShowModule("Draw_Tower")
;
CurDrawableHideModule("Draw_Decal")
CurDrawableHideModule("Draw_PosternGate")
CurDrawableHideModule("Draw_Trebuchet")
CurDrawableHideModule("Draw_Picker")
EndScript
End
End
;----------------------------------------------------------------------------------------------
Draw = W3DScriptedModelDraw Draw_PosternGate
ExtraPublicBone = Post01
ExtraPublicBone = Post02
ExtraPublicBone = Post03
ExtraPublicBone = Post04
DefaultModelConditionState
Model = RBCastPOST
End
IdleAnimationState
BeginScript
CurDrawableHideModule("Draw_PosternGate")
EndScript
End
ModelConditionState = SOLD
Model = RBCastPOST
End
AnimationState = SOLD
Animation
AnimationName = RBCastPOST.RBCastPOST
AnimationMode = ONCE_BACKWARDS
AnimationSpeedFactorRange = 3.0 3.0
End
Flags = START_FRAME_LAST
EnteringStateFX = FX_BuildingContructDustCastlesCentre
End
ModelConditionState = UPGRADE_POSTERN_GATE DAMAGED
Model = RBCastPOST_D1
End
AnimationState = UPGRADE_POSTERN_GATE DAMAGED
; EnteringStateFX = FX_RohanWallDamaged
End
ModelConditionState = UPGRADE_POSTERN_GATE REALLYDAMAGED
Model = RBCastPOST_D2
End
AnimationState = UPGRADE_POSTERN_GATE REALLYDAMAGED
Animation = ReallyDamagedanimation
AnimationName = RBCastPOST_D2.RBCastPOST_D2
AnimationMode = ONCE
End
; EnteringStateFX = FX_RohanWallReallyDamaged
End
ModelConditionState = UPGRADE_POSTERN_GATE RUBBLE
Model = RBCastPOST_D3
End
AnimationState = UPGRADE_POSTERN_GATE RUBBLE
Animation = Death
AnimationName = RBCastPOST_D3.RBCastPOST_D3
AnimationMode = ONCE
End
; EnteringStateFX = FX_RohanWallRubble
EnteringStateFX = FX_WallDie
End
ModelConditionState = UPGRADE_POSTERN_GATE POST_RUBBLE
Model = None
End
ModelConditionState = UPGRADE_POSTERN_GATE POST_COLLAPSE
Model = None
End
AnimationState = UPGRADE_POSTERN_GATE
Animation
AnimationName = RBCastPOST.RBCastPOST
AnimationMode = ONCE
End
EnteringStateFX = FX_BuildingContructDustCastlesCentre
End
End
;----------------------------------------------------------------------------------------------
Draw = W3DScriptedModelDraw Draw_Tower
ExtraPublicBone = ARROWBONE01
ExtraPublicBone = ARROWBONE02
ExtraPublicBone = ARROWBONE03
ExtraPublicBone = ARROWBONE04
ExtraPublicBone = ARROWBONE05
ExtraPublicBone = ARROWBONE06
ExtraPublicBone = ARROWBONE07
ExtraPublicBone = ARROWBONE08
ExtraPublicBone = ARROWBONE09
ExtraPublicBone = ARROWBONE10
ExtraPublicBone = ARROWBONE11
ExtraPublicBone = ARROWBONE12
ExtraPublicBone = ARROWBONE13
ExtraPublicBone = ARROWBONE14
; Don't want to change the hidden state of this when the postern gate is stealthed.
AffectedByStealth = No
DefaultModelConditionState
Model = RBCastTOWR
WeaponLaunchBone = PRIMARY ARROWBONE
End
IdleAnimationState
StateName = Complete
BeginScript
CurDrawableHideModule("Draw_Tower")
EndScript
End
ModelConditionState = SOLD
Model = RBCastTOWR
End
AnimationState = SOLD
Animation
AnimationName = RBCastTOWR.RBCastTOWR
AnimationMode = ONCE_BACKWARDS
AnimationSpeedFactorRange = 3.0 3.0
End
Flags = START_FRAME_LAST
EnteringStateFX = FX_BuildingContructDustRohanCastles
End
ModelConditionState = UPGRADE_GARRISON DAMAGED
Model = RBCastTOWR_D1
End
AnimationState = UPGRADE_GARRISON DAMAGED
; EnteringStateFX = FX_RohanWallDamaged
End
ModelConditionState = UPGRADE_GARRISON REALLYDAMAGED
Model = RBCastTOWR_D2
End
AnimationState = UPGRADE_GARRISON REALLYDAMAGED
Animation = ReallyDamagedanimation
AnimationName = RBCastTOWR_D2.RBCastTOWR_D2
AnimationMode = ONCE
End
; EnteringStateFX = FX_RohanWallReallyDamaged
End
ModelConditionState = UPGRADE_GARRISON RUBBLE
Model = RBCastTOWR_D3
End
AnimationState = UPGRADE_GARRISON RUBBLE
StateName = Complete
Animation = Death
AnimationName = RBCastTOWR_D3.RBCastTOWR_D3
AnimationMode = ONCE
End
EnteringStateFX = FX_WallDie
End
ModelConditionState = UPGRADE_GARRISON POST_RUBBLE
Model = None
End
ModelConditionState = UPGRADE_GARRISON POST_COLLAPSE
Model = None
End
TransitionState = TRANS_IdleToBuild
Animation
AnimationName = RBCastTOWR.RBCastTOWR
AnimationMode = ONCE
AnimationSpeedFactorRange = GONDOR_BATTLETOWER_BUILD_SPEED GONDOR_BATTLETOWER_BUILD_SPEED
End
EnteringStateFX = FX_BuildingContructDustRohanCastles
End
AnimationState = UPGRADE_GARRISON
; If we're complete then transition via showing and build anim.
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "Complete" then CurDrawableSetTransitionAnimState("TRANS_IdleToBuild") end
EndScript
Flags = START_FRAME_LAST
Animation
AnimationName = RBCastTOWR.RBCastTOWR
AnimationMode = ONCE
End
End
End
ArmorSet
Conditions = None
Armor = RohanCastleWallUpgrade
DamageFX = RohanWallDamageFX
End
ArmorSet
Conditions = AS_TOWER
Armor = RohanCastleWallUpgradeAsTower
DamageFX = RohanWallDamageFX
End
WeaponSet
Conditions = None
End
WeaponSet
Conditions = PLAYER_UPGRADE
Weapon = PRIMARY CastleWallUpgradeBow
AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
End
;----------------------- AUDIO -------------------------
VoiceSelect = Gui_PlotSelect
SoundOnDamaged = BuildingLightDamageWood
SoundOnReallyDamaged = BuildingHeavyDamageWood
VoiceSelectUnderConstruction = BuildingGoodVoiceSelectUnderConstruction
;UnitSpecificSounds
; UnderConstruction = BuildingConstructionLoop
; UnderConstruction = BuildingConstructionLoop ; Built first time
; UnderRepairFromDamage = NoSound ; Repaired No animation on the building, so don't bother playing sound
; UnderRepairFromRubble = BuildingConstructionLoop ; Repaired from completely destroyed (not used???)
;End
; Change selection sounds based on upgrades
ClientBehavior = UpgradeSoundSelectorClientBehavior ModuleTag_UpgradeSoundSelector
SoundUpgrade = Upgrade_PosternGate ; EVERYTHING on this line must be present
ExcludedUpgrades = Upgrade_OpenGarrison Upgrade_WallBanner ; NOTHING on this line can be present
VoiceSelect = GondorPosternGateSelect
End
SoundUpgrade = Upgrade_OpenGarrison ; EVERYTHING on this line must be present
ExcludedUpgrades = Upgrade_PosternGate Upgrade_WallBanner ; NOTHING on this line can be present
VoiceSelect = RohanBattleTowerSelect
End
SoundUpgrade = Upgrade_WallBanner ; EVERYTHING on this line must be present
ExcludedUpgrades = Upgrade_PosternGate Upgrade_OpenGarrison ; NOTHING on this line can be present
VoiceSelect = GondorArmorySelect
End
End
; ***DESIGN parameters ***
DisplayName = OBJECT:RohanCastleWall
EditorSorting = STRUCTURE
Side = Obsolete
Body = ActiveBody ModuleTag_02
MaxHealth = ROHAN_CASTLE_WALL_HEALTH
End
; ***ENGINEERING parameters ***
Behavior = WallUpgradeUpdate ModuleTag_Update
End
Behavior = FoundationAIUpdate ModuleTag_FoundationAI
End
Behavior = AIUpdateInterface ModuleTag_SoWeCanUseWeapon
AutoAcquireEnemiesWhenIdle = Yes
MoodAttackCheckRate = 250
AILuaEventsList = GarrisonableFunctions
End
Behavior = ProductionUpdate ProductionUpdateModuleTag
; nothing, but is required if we have any Object-level Upgrades!
End
; Behavior = GarrisonUpgrade TheGarrisonUpgrade
; TriggeredBy = Upgrade_OpenGarrison
; ConflictsWith = Upgrade_PosternGate Upgrade_WallBanner
; End
Behavior = WeaponSetUpgrade ModuleTag_Add5ArchersToAllKeepsAndBattleTowers
TriggeredBy = Upgrade_OpenGarrison
ConflictsWith = Upgrade_PosternGate Upgrade_WallBanner
End
Behavior = CommandSetUpgrade ModueTag_GarrisonCommandSet
TriggeredBy = Upgrade_OpenGarrison
ConflictsWith = Upgrade_PosternGate Upgrade_WallBanner
CommandSet = SellableCommandSet
End
Behavior = GeometryUpgrade ModueTag_TowerGeom
TriggeredBy = Upgrade_OpenGarrison
ConflictsWith = Upgrade_PosternGate Upgrade_WallBanner
ShowGeometry = TowerGeom
HideGeometry = DummyGeom TrebGeom
CustomAnimAndDuration = AnimState:UPGRADE_GARRISON AnimTime:0
End
Behavior = AttributeModifierUpgrade DontShootWhilstBuilding
TriggeredBy = Upgrade_OpenGarrison
AttributeModifier = PreventFromShooting
End
Behavior = ArmorUpgrade ArmorUpgradeModuleTag1
TriggeredBy = Upgrade_OpenGarrison
ArmorSetFlag = AS_TOWER
End
Behavior = AudioLoopUpgrade ModuleTag_GarrisonBuildLoop
; Play a "build loop" while the garrison is building up
TriggeredBy = Upgrade_OpenGarrison
ConflictsWith = Upgrade_PosternGate Upgrade_WallBanner
SoundToPlay = BuildingConstructionLoop
KillOnDeath = Yes
KillAfterMS = 6166 ; Should match the length of the build-up animation [Or a little shorter since sounds take a little while to die]
End
Behavior = TooltipUpgrade ModuleTag_GarrisonTooltip
TriggeredBy = Upgrade_OpenGarrison
ConflictsWith = Upgrade_PosternGate Upgrade_WallBanner
DisplayName = OBJECT:RohanBattleTower
Description = OBJECT:RohanBattleTowerDescription
End
; This isn't a geom upgrade, we just need something that doesn't do anything
; to hook onto this upgrade.
Behavior = GeometryUpgrade ModuleTag_FireArrows
TriggeredBy = Upgrade_BattleTowersToUseFireArrows
ConflictsWith = Upgrade_PosternGate Upgrade_WallBanner
End
Behavior = GeometryUpgrade ModueTag_TrebGeom
TriggeredBy = Upgrade_WallBanner
ConflictsWith = Upgrade_PosternGate Upgrade_OpenGarrison
CustomAnimAndDuration = AnimState:UPGRADE_TREBUCHET AnimTime:0
ShowGeometry = TrebGeom
HideGeometry = DummyGeom TowerGeom
WallBoundsMesh = P4
RampMesh1 = P2
RampMesh2 = P3
End
Behavior = CommandSetUpgrade ModueTag_TrebCommandSet
TriggeredBy = Upgrade_WallBanner
ConflictsWith = Upgrade_PosternGate Upgrade_OpenGarrison
CommandSet = SellableCommandSet
End
Behavior = AttributeModifierUpgrade DontShootWhilstBuilding2 ; Required for the buiding canceling - don't ask.
TriggeredBy = Upgrade_WallBanner
AttributeModifier = PreventFromShooting
End
Behavior = AudioLoopUpgrade ModuleTag_TrebBuildLoop
; Play a "build loop" while the garrison is building up
TriggeredBy = Upgrade_WallBanner
ConflictsWith = Upgrade_PosternGate Upgrade_OpenGarrison
SoundToPlay = BuildingConstructionLoop
KillOnDeath = Yes
KillAfterMS = 6166 ; Should match the length of the build-up animation [Or a little shorter since sounds take a little while to die]
End
Behavior = ArmorUpgrade ArmorUpgradeModuleTag2
TriggeredBy = Upgrade_WallBanner
ArmorSetFlag = AS_TOWER
End
Behavior = TooltipUpgrade ModuleTag_WallBannerTooltip
TriggeredBy = Upgrade_WallBanner
ConflictsWith = Upgrade_PosternGate Upgrade_OpenGarrison
DisplayName = OBJECT:RohanFlagTower
Description = OBJECT:RohanFlagTowerDescription
End
Behavior = DynamicPortalBehaviour PosternGatePortal
TriggeredBy = Upgrade_PosternGate
ConflictsWith = Upgrade_OpenGarrison Upgrade_WallBanner
CustomAnimAndDuration = AnimState:UPGRADE_POSTERN_GATE AnimTime:0
ActivationDelaySeconds = 7.0
ObjectFilter = POSTERNGATE_ALLOWABLE_OBJECTFILTER
BonePrefix = Post
NumberOfBones = 4
WayPoint = Index:0 Type:Walk ; 0
WayPoint = Index:1 Type:Walk ; 1
WayPoint = Index:2 Type:Walk ; 2
WayPoint = Index:3 Type:Walk ; 3
WayPoint = Index:2 Type:Walk ; 4
WayPoint = Index:1 Type:Walk ; 5
Link = From:0 Via:4 Via:5 To:3
Link = From:3 Via:1 Via:2 To:0
End
Behavior = CommandSetUpgrade ModueTag_PosternGateCommandSet
TriggeredBy = Upgrade_PosternGate
ConflictsWith = Upgrade_OpenGarrison Upgrade_WallBanner
CommandSet = SellableCommandSet
End
Behavior = AttributeModifierUpgrade DontShootWhilstBuilding3 ; Required for the buiding canceling - don't ask.
TriggeredBy = Upgrade_PosternGate
AttributeModifier = PreventPosternGateFromShooting
End
Behavior = AudioLoopUpgrade ModuleTag_GateBuildLoop
; Play a "build loop" while the garrison is building up
TriggeredBy = Upgrade_PosternGate
ConflictsWith = Upgrade_WallBanner Upgrade_OpenGarrison
SoundToPlay = BuildingConstructionLoop
KillOnDeath = Yes
KillAfterMS = 6166 ; Should match the length of the build-up animation [Or a little shorter since sounds take a little while to die]
End
Behavior = TooltipUpgrade ModuleTag_PosternGateTooltip
TriggeredBy = Upgrade_PosternGate
ConflictsWith = Upgrade_WallBanner Upgrade_OpenGarrison
DisplayName = OBJECT:RohanPosternGate
;Description = OBJECT:RohanPosternGateDescription
End
; Behavior = HordeGarrisonContain GarrisonContainModuleTag
; ContainMax = 2
; PassengerFilter = ANY +INFANTRY +HORDE -CAVALRY -SUMMONED -WildSpiderling -WildSpiderlingHorde
; AllowAlliesInside = Yes
; AllowEnemiesInside = Yes
; ObjectStatusOfContained = UNSELECTABLE CAN_ATTACK
; EntryOffset = X:0.0 Y:-45.0 Z:50.0
; EntryOffset = X:0.0 Y:0.0 Z:50.0
; ExitOffset = X:0.0 Y:0.0 Z:50.0
; Enabled = No
; PassengerBonePrefix = PassengerBone:Arrow_ KindOf:INFANTRY HORDE
; End
Behavior = AttributeModifierAuraUpdate ModuleTag_WallBonus
StartsActive = Yes ;If no, requires upgrade to turn on.
BonusName = WallBonus
RefreshDelay = 2000
;Range = 120 ; Range is overridden to affect people on us since we are a wall
;TargetEnemy = Yes ; Alliances are ignored to affect people on us since we are a wall
End
Behavior = AttributeModifierAuraUpdate ModuleTag_Leadership
TriggeredBy = Upgrade_WallBanner
ConflictsWith = Upgrade_PosternGate Upgrade_OpenGarrison
StartsActive = No
BonusName = RohanWallPassiveLeadership
RefreshDelay = 2000
ObjectFilter = GENERIC_BUFF_RECIPIENT_OBJECT_FILTER
End
Behavior = CastleMemberBehavior ModuleTag_CMB
StoreUpgradePrice = Yes ; We want to overload the refund price with any upgrades purchased.
CountsForEvaCastleBreached = No ; This is just the floating button
End
KindOf = STRUCTURE SELECTABLE IMMOBILE WALK_ON_TOP_OF_WALL WALL_UPGRADE CAN_ATTACK NOT_AUTOACQUIRABLE ;;;;;;;;;ATTACK_NEEDS_LINE_OF_SIGHT GARRISON
RadarPriority = NOT_ON_RADAR
CommandSet = RohanCastleWallCommandSet
KeepSelectableWhenDead = Yes
VisionRange = GONDOR_ARCHER_VISION_RANGE
GeometryIsSmall = No
Geometry = BOX
GeometryMajorRadius = 1.0
GeometryMinorRadius = 1.0
GeometryHeight = 1.0
GeometryName = DummyGeom
GeometryActive = Yes
AdditionalGeometry = BOX
GeometryMajorRadius = 28.0
GeometryMinorRadius = 20.0
GeometryHeight = 80.0
GeometryOffset = X:0.0 Y:-50.0 Z:0.0 ; These structures are rotated 90, so 'y' is really the 'x' offset
GeometryName = TrebGeom
GeometryActive = No
AdditionalGeometry = BOX
GeometryMajorRadius = 20.0
GeometryMinorRadius = 15.0
GeometryHeight = 133.0
GeometryOffset = X:0.0 Y:-38.0 Z:0.0 ; These structures are rotated 90, so 'y' is really the 'x' offset
GeometryName = TowerGeom
GeometryActive = No
Shadow = SHADOW_VOLUME
GeometryContactPoint = X: 12.0 Y:-38.0 Z:133 Swoop
GeometryContactPoint = X: 0.0 Y:-38.0 Z:0
GeometryContactPoint = X:-12.0 Y:-38.0 Z:133 Swoop
End
;------------------------------------------------------------------------------
;Rohan House01
Object RohanHouse01
SelectPortrait = BPRHelmsDeep
; *** ART Parameters ***
Draw = W3DScriptedModelDraw ModuleTag_Draw
OkToChangeModelColor = Yes
UseStandardModelNames = Yes
DefaultModelConditionState
Model = RGenericA
End
End
; ***DESIGN parameters ***
DisplayName = OBJECT:Rohan House
Side = Civilian
EditorSorting = STRUCTURE
Browser = REGION Shire STRUCTURE
ThreatLevel = 1.0
; *** AUDIO Parameters ***
SoundOnDamaged = BuildingLightDamageStone
SoundOnReallyDamaged = BuildingHeavyDamageStone
; *** ENGINEERING Parameters ***
RadarPriority = NOT_ON_RADAR
KindOf = PRELOAD STRUCTURE IMMOBILE CHUNK_VENDOR CAN_CAST_REFLECTIONS ;SELECTABLE
Body = ActiveBody ModuleTag_02
MaxHealth = 1000
End
Geometry = BOX
GeometryMajorRadius = 25
GeometryMinorRadius = 44
GeometryHeight = 48
GeometryOffset = X:0 Y:0 Z:0
GeometryIsSmall = No
Shadow = SHADOW_VOLUME
End
;------------------------------------------------------------------------------
;Rohan House02
Object RohanHouse02
SelectPortrait = BPRHelmsDeep
; *** ART Parameters ***
Draw = W3DScriptedModelDraw ModuleTag_Draw
OkToChangeModelColor = Yes
UseStandardModelNames = Yes
DefaultModelConditionState
Model = RGenericB
End
End
; ***DESIGN parameters ***
DisplayName = OBJECT:Rohan House
Side = Civilian
EditorSorting = STRUCTURE
Browser = REGION Shire STRUCTURE
ThreatLevel = 1.0
; *** AUDIO Parameters ***
SoundOnDamaged = BuildingLightDamageStone
SoundOnReallyDamaged = BuildingHeavyDamageStone
; *** ENGINEERING Parameters ***
RadarPriority = NOT_ON_RADAR
KindOf = PRELOAD STRUCTURE IMMOBILE CHUNK_VENDOR CAN_CAST_REFLECTIONS ;SELECTABLE
Body = ActiveBody ModuleTag_02
MaxHealth = 1000
End
Geometry = BOX
GeometryMajorRadius = 25
GeometryMinorRadius = 44
GeometryHeight = 48
GeometryOffset = X:-20 Y:12 Z:0
AdditionalGeometry = BOX
GeometryMajorRadius = 28
GeometryMinorRadius = 15
GeometryHeight = 17
GeometryOffset = X:24 Y:-42 Z:0
GeometryIsSmall = No
Shadow = SHADOW_VOLUME
End
;------------------------------------------------------------------------------
;Rohan House03
Object RohanHouse03
SelectPortrait = BPRHelmsDeep
; *** ART Parameters ***
Draw = W3DScriptedModelDraw ModuleTag_Draw
OkToChangeModelColor = Yes
UseStandardModelNames = Yes
DefaultModelConditionState
Model = RGenericC
End
End
; ***DESIGN parameters ***
DisplayName = OBJECT:Rohan House
Side = Civilian
EditorSorting = STRUCTURE
Browser = REGION Shire STRUCTURE
ThreatLevel = 1.0
; *** AUDIO Parameters ***
SoundOnDamaged = BuildingLightDamageStone
SoundOnReallyDamaged = BuildingHeavyDamageStone
; *** ENGINEERING Parameters ***
RadarPriority = NOT_ON_RADAR
KindOf = PRELOAD STRUCTURE IMMOBILE CHUNK_VENDOR CAN_CAST_REFLECTIONS; SELECTABLE
Body = ActiveBody ModuleTag_02
MaxHealth = 1000
End
Geometry = BOX
GeometryMajorRadius = 28
GeometryMinorRadius = 28
GeometryHeight = 14
GeometryOffset = X:27 Y:17 Z:0
AdditionalGeometry = BOX
GeometryMajorRadius = 26
GeometryMinorRadius = 45
GeometryHeight = 49
GeometryOffset = X:-26 Y:0 Z:0
GeometryIsSmall = No
Shadow = SHADOW_VOLUME
End
;------------------------------------------------------------------------------
;Rohan House04
Object RohanHouse04
SelectPortrait = BPRHelmsDeep
; *** ART Parameters ***
Draw = W3DScriptedModelDraw ModuleTag_Draw
OkToChangeModelColor = Yes
UseStandardModelNames = Yes
DefaultModelConditionState
Model = RGenericD
End
End
; ***DESIGN parameters ***
DisplayName = OBJECT:Rohan House
Side = Civilian
EditorSorting = STRUCTURE
Browser = REGION Shire STRUCTURE
ThreatLevel = 1.0
; *** AUDIO Parameters ***
SoundOnDamaged = BuildingLightDamageStone
SoundOnReallyDamaged = BuildingHeavyDamageStone
; *** ENGINEERING Parameters ***
RadarPriority = NOT_ON_RADAR
KindOf = PRELOAD STRUCTURE IMMOBILE CHUNK_VENDOR CAN_CAST_REFLECTIONS ;SELECTABLE
Body = ActiveBody ModuleTag_02
MaxHealth = 1000
End
Geometry = BOX
GeometryMajorRadius = 30
GeometryMinorRadius = 50
GeometryHeight = 54
GeometryOffset = X:-5 Y:2 Z:0
AdditionalGeometry = BOX
GeometryMajorRadius = 17
GeometryMinorRadius = 10
GeometryHeight = 37
GeometryOffset = X:40 Y:17 Z:0
GeometryIsSmall = No
Shadow = SHADOW_VOLUME
End
;------------------------------------------------------------------------------
;Rohan House05
Object RohanHouse05
SelectPortrait = BPRHelmsDeep
; *** ART Parameters ***
Draw = W3DScriptedModelDraw ModuleTag_Draw
OkToChangeModelColor = Yes
UseStandardModelNames = Yes
DefaultModelConditionState
Model = RGenericE
End
End
; ***DESIGN parameters ***
DisplayName = OBJECT:Rohan House
Side = Civilian
EditorSorting = STRUCTURE
Browser = REGION Shire STRUCTURE
ThreatLevel = 1.0
; *** AUDIO Parameters ***
SoundOnDamaged = BuildingLightDamageStone
SoundOnReallyDamaged = BuildingHeavyDamageStone
; *** ENGINEERING Parameters ***
RadarPriority = NOT_ON_RADAR
KindOf = PRELOAD STRUCTURE IMMOBILE CHUNK_VENDOR CAN_CAST_REFLECTIONS ;SELECTABLE
Body = ActiveBody ModuleTag_02
MaxHealth = 1000
End
Geometry = BOX
GeometryMajorRadius = 19
GeometryMinorRadius = 39
GeometryHeight = 50
GeometryOffset = X:-41 Y:-12 Z:0
AdditionalGeometry = BOX
GeometryMajorRadius = 15
GeometryMinorRadius = 18
GeometryHeight = 43
GeometryOffset = X:-11 Y:-32 Z:0
GeometryIsSmall = No
Shadow = SHADOW_VOLUME
End