Edain 4.7.2 veröffentlicht! / Edain 4.7.2 released!
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; CASTLE WALL PIECES FOR THE NEW WALL BUILD SYSTEM ;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Object IsengardCastleWallSegment // *** ART Parameters *** SelectPortrait = BPIWall Draw = W3DScriptedModelDraw ModuleTag_Draw OkToChangeModelColor = Yes UseStandardModelNames = Yes DefaultModelConditionState Model = dolgulwall End IdleAnimationState; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT; Animation = ReallyDamagedanimation; ;AnimationName = IBWallRamp2.IBWallRamp2; AnimationName = GBWallN.GBWallN; AnimationMode = LOOP; End StateName = STATE_None End //------------ New Build Up States coming soon. ModelConditionState = SNOW AWAITING_CONSTRUCTION Model = dolgulwall Texture = IBFortress.tga IBFortress_snow.tga End ModelConditionState = AWAITING_CONSTRUCTION Model = dolgulwall End AnimationState = AWAITING_CONSTRUCTION Animation = DBWallN_A AnimationName = IBWallN_A.IBWallN_A AnimationMode = MANUAL AnimationBlendTime = 0 End Flags = START_FRAME_FIRST End ModelConditionState = UPGRADE_NUMENOR_STONEWORK ACTIVELY_BEING_CONSTRUCTED PARTIALLY_CONSTRUCTED Model = dolgulwall Texture = IBFortress.tga IBFortress_U.tga End ModelConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED PARTIALLY_CONSTRUCTED Model = dolgulwall Texture = IBFortress.tga IBFortress_snow.tga End ModelConditionState = ACTIVELY_BEING_CONSTRUCTED PARTIALLY_CONSTRUCTED Model = dolgulwall End AnimationState = ACTIVELY_BEING_CONSTRUCTED PARTIALLY_CONSTRUCTED Animation = DBWallN_A AnimationName = IBWallN_A.IBWallN_A AnimationMode = MANUAL AnimationBlendTime = 0 End Flags = START_FRAME_FIRST StateName = BeingConstructed ParticleSysBone = NONE WallConstructDust FollowBone:Yes End //--damaged building ModelConditionState = DAMAGED Model = dolgulwall End AnimationState = DAMAGED EnteringStateFX = FX_WallDamaged End ModelConditionState = REALLYDAMAGED Model = dolgulwall End AnimationState = REALLYDAMAGED Animation = RubbleAnimation AnimationName = IBWallN_D2.IBWallN_D2 AnimationMode = ONCE End EnteringStateFX = FX_WallDamaged End ModelConditionState = COLLAPSING Model = dolgulwall End AnimationState = COLLAPSING Animation = RubbleAnimation AnimationName = IBWallN_D3.IBWallN_D3 AnimationMode = ONCE End ParticleSysBone NONE WallDestructionDust End ModelConditionState = RUBBLE Model = None ;GBWall_Rubble End ModelConditionState = POST_RUBBLE Model = None ;GBWall_Rubble End AnimationState = POST_RUBBLE End ModelConditionState = POST_COLLAPSE Model = None End AnimationState = POST_COLLAPSE End ModelConditionState = UPGRADE_NUMENOR_STONEWORK Model = dolgulwall Texture = IBFortress.tga IBFortress_U.tga End ModelConditionState = SNOW Model = dolgulwall Texture = IBFortress.tga IBFortress_snow.tga End End Draw = W3DScriptedModelDraw ModuleTag_Draw_Rubble OkToChangeModelColor = Yes UseStandardModelNames = Yes DefaultModelConditionState Model = None End ModelConditionState = COLLAPSING Model = dolgulwall End ModelConditionState = RUBBLE Model = dolgulwall End ModelConditionState = POST_RUBBLE Model = dolgulwall End ModelConditionState = POST_COLLAPSE Model = None End End // ***DESIGN parameters *** DisplayName = OBJECT:IsengardCastleWallSegment Side = Isengard EditorSorting = STRUCTURE ThreatLevel = 1.0 BuildCost = ISENGARD_CASTLE_WALLSEGMENT_BUILDCOST BuildTime = ISENGARD_CASTLE_WALLSEGMENT_BUILDTIME VisionRange = 160.0 // Shroud clearing distance ShroudClearingRange = 160 CommandSet = IsengardWallUpgradeNodeCommandSet // *** AUDIO Parameters *** #include "..\..\..\Includes\StandardBuildingEvaEvents.inc" VoiceSelect = Gui_PlotSelect2 VoiceSelectUnderConstruction = BuildingEvilVoiceSelectUnderConstruction SoundOnDamaged = BuildingLightDamageStone SoundOnReallyDamaged = BuildingHeavyDamageStone UnitSpecificSounds UnderConstruction = WallConstructionLoop ; Built first time ; UnderRepairFromDamage = NoSound ; Repaired No animation on the building, so don't bother playing sound UnderRepairFromRubble = WallConstructionLoop ; Repaired from completely destroyed (not used???) End ClientBehavior = ModelConditionAudioLoopClientBehavior ModuleTag_PlayCollapseSound ModelCondition = REQUIRED:RUBBLE Sound:BuildingSink End CampnessValue = CAMPNESS_WALL // *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE WALL_SEGMENT SCALEABLE_WALL MADE_OF_STONE ThreatBreakdown ThreatBreakdown_ModuleTag AIKindOf = WALL End //This is important to let the user select the rubble to begin self repair KeepSelectableWhenDead = Yes Behavior = GettingBuiltBehavior ModuleTag_04 SelfBuildingLoop = WallConstructionLoop // 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 = WallConstructionLoop UseSpawnTimerWithoutWorker = Yes SpawnTimer = DEFAULT_STRUCTURE_HEALDELAY RebuildTimeSeconds = ISENGARD_CASTLE_WALLSEGMENT_BUILDTIME End Body = StructureBody ModuleTag_05 MaxHealth = ISENGARD_CASTLE_WALLSEGMENT_HEALTH MaxHealthDamaged = ISENGARD_CASTLE_WALLSEGMENT_HEALTH_DAMAGED MaxHealthReallyDamaged = ISENGARD_CASTLE_WALLSEGMENT_HEALTH_REALLY_DAMAGED End // These should always appear together on wall segments Behavior = KeepObjectDie ModuleTag_IWantRubble DeathTypes = ALL -SUICIDED End Behavior = SlowDeathBehavior ModuleTag_SlowDeath DeathTypes = NONE +SUICIDED DestructionDelay = 5000 End // These should always appear together on wall segments Behavior = ReplaceSelfUpgrade ModuleTag_Replace_With_Hub ReplaceWith = IsengardCastleWallHub TriggeredBy = Upgrade_IsengardWallHub ConflictsWith = Upgrade_IsengardWallRegularGate End Behavior = ReplaceSelfUpgrade ModuleTag_Replace_With_Gate ReplaceWith = IsengardCastleWallGate TriggeredBy = Upgrade_IsengardWallRegularGate ConflictsWith = Upgrade_IsengardWallHub End Behavior = ProductionUpdate ModuleTag_RequiredForUpgradeProduction End Behavior = InheritUpgradeCreate ModuleTag_InheritStonework Radius = ISENGARD_FORTRESS_WALL_EFFECTIVE_RADIUS Upgrade = Upgrade_IsengardFortressIronPlating ObjectFilter = ANY +IsengardFortressCitadel End Behavior = AttributeModifierUpgrade ModuleTag_Reinforced TriggeredBy = Upgrade_IsengardFortressIronPlating AttributeModifier = IronPlatingExpansion_Bonus End Behavior = ModelConditionUpgrade ModuleTag_ShowThePlating TriggeredBy = Upgrade_IsengardFortressIronPlating AddConditionFlags = UPGRADE_NUMENOR_STONEWORK Permanent = Yes End ArmorSet Conditions = None Armor = IsenWallArmor DamageFX = None End ;// Geometry for the temp men small wall segment Geometry = BOX GeometryMajorRadius = 5.0 ;10.0 GeometryMinorRadius = 20.0 GeometryHeight = 40.0 ;47 GeometryIsSmall = No ;Geometry = BOX ;GeometryMajorRadius = 25.0 ;GeometryMinorRadius = 20.0 ;GeometryHeight = 50 ;GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYEREnd;---------------------------------------------Object IsengardCastleWallHub ; *** ART Parameters *** SelectPortrait = BPIWall_WallHub Draw = W3DScriptedModelDraw ModuleTag_Draw OkToChangeModelColor = Yes UseStandardModelNames = Yes DefaultModelConditionState Model = dolgulhub End IdleAnimationState; Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT; Animation = ReallyDamagedanimation; ;AnimationName = IBWallRmprt.IBWallRmprt; AnimationName = GBWallRmprtN.GBWallRmprtN; AnimationMode = LOOP; End StateName = STATE_None End ;------------ New Build Up States coming soon. ModelConditionState = SNOW AWAITING_CONSTRUCTION Model = dolgulhub Texture = IBFortress.tga IBFortress_snow.tga End ModelConditionState = AWAITING_CONSTRUCTION Model = dolgulhub End AnimationState = AWAITING_CONSTRUCTION Animation = DBWallN_A AnimationName = IBWallRmprtN_A.IBWallRmprtN_A AnimationMode = MANUAL AnimationBlendTime = 0 End Flags = START_FRAME_FIRST End ModelConditionState = UPGRADE_NUMENOR_STONEWORK ACTIVELY_BEING_CONSTRUCTED PARTIALLY_CONSTRUCTED Model = dolgulhub Texture = IBFortress.tga IBFortress_U.tga End ModelConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED PARTIALLY_CONSTRUCTED Model = dolgulhub Texture = IBFortress.tga IBFortress_snow.tga End ModelConditionState = ACTIVELY_BEING_CONSTRUCTED PARTIALLY_CONSTRUCTED Model = dolgulhub End AnimationState = ACTIVELY_BEING_CONSTRUCTED PARTIALLY_CONSTRUCTED Animation = IBWallRmprtN_A AnimationName = IBWallRmprtN_A.IBWallRmprtN_A AnimationMode = MANUAL AnimationBlendTime = 0 End Flags = START_FRAME_FIRST StateName = BeingConstructed ParticleSysBone = NONE WallConstructDust FollowBone:Yes BeginScript CurDrawablePlaySound("GondorBarracksBeginConstruction") EndScript End ;--damaged building ModelConditionState = DAMAGED Model = dolgulhub End AnimationState = DAMAGED EnteringStateFX = FX_HubDamaged End ModelConditionState = REALLYDAMAGED Model = dolgulhub End AnimationState = REALLYDAMAGED Animation = RubbleAnimation AnimationName = IBWallRmprtN_D2.IBWallRmprtN_D2 AnimationMode = ONCE End EnteringStateFX = FX_HubDamaged End ModelConditionState = COLLAPSING Model = dolgulhub End AnimationState = COLLAPSING Animation = RubbleAnimation AnimationName = IBWallRmprtN_D3.IBWallRmprtN_D3 AnimationMode = ONCE End ParticleSysBone NONE HubDestructionDust EnteringStateFX = FX_StructureMediumCollapse End ModelConditionState = DYING Model = dolgulhub End AnimationState = DYING Animation = RubbleAnimation AnimationName = IBWallRmprtN_D3.IBWallRmprtN_D3 AnimationMode = ONCE End ParticleSysBone NONE HubDestructionDust EnteringStateFX = FX_StructureMediumCollapse End ModelConditionState = RUBBLE Model = None End ModelConditionState = POST_RUBBLE Model = NONE End AnimationState = POST_RUBBLE End ModelConditionState = POST_COLLAPSE Model = None End AnimationState = POST_COLLAPSE End ModelConditionState = UPGRADE_NUMENOR_STONEWORK Model = dolgulhub Texture = IBFortress.tga IBFortress_U.tga End ModelConditionState = SNOW Model = dolgulhub Texture = IBFortress.tga IBFortress_snow.tga End End ; ***DESIGN parameters *** RadarPriority = STRUCTURE DisplayName = OBJECT:IsengardCastleWallHub Side = Isengard EditorSorting = STRUCTURE ThreatLevel = 1.0 BuildCost = ISENGARD_CASTLE_WALLHUB_BUILDCOST BuildTime = ISENGARD_CASTLE_WALLHUB_BUILDTIME VisionRange = 160.0 ; Shroud clearing distance ShroudClearingRange = 160 CommandSet = IsengardCastleWallHubCommandSet ; *** AUDIO Parameters *** #include "..\..\..\Includes\StandardBuildingEvaEvents.inc" VoiceSelect = NeutralWallHubSelect ;Gui_PlotSelect2 VoiceSelectUnderConstruction = BuildingEvilVoiceSelectUnderConstruction SoundOnDamaged = BuildingLightDamageStone SoundOnReallyDamaged = BuildingHeavyDamageStone UnitSpecificSounds 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 ClientBehavior = ModelConditionAudioLoopClientBehavior ModuleTag_PlayCollapseSound ModelCondition = REQUIRED:COLLAPSING Sound:BuildingSink End CampnessValue = CAMPNESS_WALL ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE WALL_HUB MADE_OF_STONE WALL_UPGRADE ThreatBreakdown ThreatBreakdown_ModuleTag AIKindOf = WALL End Behavior = GettingBuiltBehavior ModuleTag_04 UseSpawnTimerWithoutWorker = Yes SpawnTimer = DEFAULT_STRUCTURE_HEALDELAY ;SelfBuildingLoop = BuildingConstructionLoop ; Only played if we DON'T spawn a worker SelfRepairFromDamageLoop = WallConstructionLoop SelfRepairFromRubbleLoop = BuildingConstructionLoop End Body = StructureBody ModuleTag_05 MaxHealth = ISENGARD_CASTLE_WALLHUB_HEALTH MaxHealthDamaged = ISENGARD_CASTLE_WALLHUB_HEALTH_DAMAGED MaxHealthReallyDamaged = ISENGARD_CASTLE_WALLHUB_HEALTH_REALLY_DAMAGED End Behavior = SlowDeathBehavior ModuleTag_SlowDeath DeathTypes = ALL DestructionDelay = 5000 ;Sound = INITIAL BuildingSink End Behavior = WallHubBehavior ModuleTag_WALL_HUB Options = OPTION_ONE MaxBuildoutDistance = MEN_FORTRESS_WALL_EFFECTIVE_RADIUS StaggeredBuildFactor = STANDARD_WALL_STAGGERED_BUILD_FACTOR ;;This defines the pattern built on flat terrain SegmentTemplateName = IsengardCastleWallSegment SegmentTemplateName = IsengardCastleWallSegment SegmentTemplateName = IsengardCastleWallSegment SegmentTemplateName = IsengardCastleWallSegment SegmentTemplateName = IsengardCastleWallSegment SegmentTemplateName = IsengardCastleWallSegment SegmentTemplateName = IsengardCastleWallSegment SegmentTemplateName = IsengardCastleWallSegment SegmentTemplateName = IsengardCastleWallHub BuilderRadius = 20 HubCapTemplateName = IsengardCastleWallHub DefaultSegmentTemplateName = IsengardCastleWallSegment CliffCapTemplateName = IsengardWallCliffCap ;ShoreCapTemplateName = [NAME] ;BorderCapTemplateName = [NAME] ;ElevatedSegmentTemplateName = [NAME] End Behavior = TerrainResourceBehavior ModuleTag_NewMoneyDeadSpot Radius = 60 ;// How far we try to claim ground MaxIncome = 0 ;// If we were to get all we wanted, how much we would earn. Linear slope to 0 at 0% claim IncomeInterval = 999999 ;// How often (in msec) we give that much money HighPriority = Yes ;// A high priority claim gets to pretend it was there first. Visible = No ;// Don't show decal when a resource building is selected. End Behavior = InheritUpgradeCreate ModuleTag_InheritStonework Radius = ISENGARD_FORTRESS_WALL_EFFECTIVE_RADIUS Upgrade = Upgrade_IsengardFortressIronPlating ObjectFilter = ANY +IsengardFortressCitadel End Behavior = AttributeModifierUpgrade ModuleTag_Reinforced TriggeredBy = Upgrade_IsengardFortressIronPlating AttributeModifier = IronPlatingExpansion_Bonus End Behavior = ModelConditionUpgrade ModuleTag_ShowThePlating TriggeredBy = Upgrade_IsengardFortressIronPlating AddConditionFlags = UPGRADE_NUMENOR_STONEWORK Permanent = Yes End ArmorSet Conditions = None Armor = IsenWallArmor DamageFX = None End ;// Geometry for the temp small men wall hub Geometry = CYLINDER GeometryMajorRadius = 20.0 ; GeometryMinorRadius = 20.0 ; GeometryHeight = 70.0 GeometryIsSmall = No AdditionalGeometry = BOX GeometryMajorRadius = 5.0 ;10.0 GeometryMinorRadius = 20.0 GeometryHeight = 40.0 ;47 GeometryIsSmall = No Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYER GeometryContactPoint = X:-21 Y:22 Z:0 Repair GeometryContactPoint = X:23 Y:-20 Z:0 Repair GeometryContactPoint = X:5.576 Y:44.987 Z:0 GeometryContactPoint = X:-38.348 Y:-42.113 Z:0 GeometryContactPoint = X:-28.448 Y:-0.003 Z:75.14 SwoopEnd;---------------------------------------------------------Object IsengardCastleWallGate ; *** ART Parameters *** SelectPortrait = BPIWall_MainGate Draw = W3DScriptedModelDraw ModuleTag_Draw OkToChangeModelColor = Yes UseStandardModelNames = Yes DefaultModelConditionState Model = dolgulgate_skn End;--------- damage states for the gate ModelConditionState = DAMAGED Model = dolgulgate_skn End ModelConditionState = REALLYDAMAGED Model = dolgolgate_d1.w3d End ModelConditionState = COLLAPSING DOOR_1_OPENING Model = dolgulgate_skn End AnimationState = COLLAPSING DOOR_1_OPENING Animation = RubbleAnimation AnimationName = IBWallGateN_D4.IBWallGateN_D4 AnimationMode = ONCE End End ModelConditionState = COLLAPSING Model = IBWallGateN_D3 End AnimationState = COLLAPSING Animation = RubbleAnimation AnimationName = IBWallGateN_D3.IBWallGateN_D3 AnimationMode = ONCE End End ModelConditionState = DYING Model = IBWallGateN_D3 End AnimationState = DYING Animation = RubbleAnimation AnimationName = IBWallGateN_D3.IBWallGateN_D3 AnimationMode = ONCE End EnteringStateFX = FX_StructureMediumCollapse ParticleSysBone NONE HubDestructionDust End ModelConditionState = RUBBLE Model = None End ModelConditionState = POST_RUBBLE Model = NONE ParticleSysBone NONE SmokeBuildingMediumRubble End AnimationState = POST_RUBBLE End ModelConditionState = POST_COLLAPSE Model = None ParticleSysBone NONE SmokeBuildingMediumRubble End AnimationState = POST_COLLAPSE End ;------ Door Animations AnimationState = DOOR_1_OPENING Flags = START_FRAME_LAST StateName = Door_Open Animation = Death AnimationName = IBWallGateN_SKL.IBWallGateN_OP AnimationMode = ONCE End BeginScript Prev = CurDrawablePrevAnimationState() if Prev == "Door_Close" then CurDrawableSetTransitionAnimState("TRANS_Closed_To_Open") end EndScript End TransitionState = TRANS_Closed_To_Open Animation = Open AnimationName = IBWallGateN_SKL.IBWallGateN_OPN AnimationMode = ONCE End End AnimationState = DOOR_1_CLOSING Flags = START_FRAME_LAST StateName = Door_Close Animation = Death AnimationName = IBWallGateN_SKL.IBWallGateN_CL AnimationMode = ONCE End BeginScript Prev = CurDrawablePrevAnimationState() if Prev == "Door_Open" then CurDrawableSetTransitionAnimState("TRANS_Open_To_Closed") end EndScript End TransitionState = TRANS_Open_To_Closed Animation = Open AnimationName = IBWallGateN_SKL.IBWallGateN_CLS AnimationMode = ONCE End End ModelConditionState = UPGRADE_NUMENOR_STONEWORK Model = dolgulgate_skn Texture = IBFortress.tga IBFortress_U.tga End ModelConditionState = SNOW Model = dolgulgate_skn Texture = IBFortress.tga IBFortress_snow.tga End End ; ***DESIGN parameters *** DisplayName = OBJECT:IsengardCastleWallGate Side = Isengard EditorSorting = STRUCTURE ThreatLevel = 1.0 BuildCost = ISENGARD_CASTLE_WALLGATE_BUILDCOST BuildTime = ISENGARD_CASTLE_WALLGATE_BUILDTIME VisionRange = 160.0 ; Shroud clearing distance ShroudClearingRange = 160 CommandSet = CastleGateCommandSet ; *** AUDIO Parameters *** #include "..\..\..\Includes\StandardBuildingEvaEvents.inc" VoiceSelect = GateSelect VoiceSelectUnderConstruction = BuildingEvilVoiceSelectUnderConstruction SoundOnDamaged = BuildingLightDamageStone SoundOnReallyDamaged = BuildingHeavyDamageStone UnitSpecificSounds 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 ;ClientBehavior = ModelConditionAudioLoopClientBehavior ModuleTag_PlayCollapseSound ; ModelCondition = REQUIRED:RUBBLE Sound:BuildingSink ;End CampnessValue = CAMPNESS_WALL ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE WALL_UPGRADE MADE_OF_STONE BLOCKING_GATE WALL_GATE Behavior = GettingBuiltBehavior ModuleTag_04 SelfBuildingLoop = WallConstructionLoop // 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 = WallConstructionLoop SpawnTimer = -1.0 // Negative means no 'autoheal' RebuildTimeSeconds = ISENGARD_CASTLE_WALLGATE_BUILDTIME End Body = StructureBody ModuleTag_05 MaxHealth = ISENGARD_CASTLE_WALLGATE_HEALTH MaxHealthDamaged = ISENGARD_CASTLE_WALLGATE_HEALTH_DAMAGED MaxHealthReallyDamaged = ISENGARD_CASTLE_WALLGATE_HEALTH_REALLY_DAMAGED End Behavior = SlowDeathBehavior ModuleTag_SlowDeath DeathTypes = ALL DestructionDelay = 5000 End Behavior = GateOpenAndCloseBehavior ModuleTag_GATE ResetTimeInMilliseconds = 3000 ;important! this must be longer than the gates animation, ir it will twitch OpenByDefault = No PercentOpenForPathing = 50 SoundOpeningGateLoop = GateOpenStart SoundClosingGateLoop = GateCloseStart SoundFinishedOpeningGate = GateOpenEnd SoundFinishedClosingGate = GateCloseEnd TimeBeforePlayingOpenSound = 9500 TimeBeforePlayingClosedSound = 9500 End Behavior = FakePathfindPortalBehaviour ModuleTag_FAKEPATHFIND AllowEnemies = No AllowNonSkirmishAIUnits = No End Behavior = AIGateUpdate ModuleTage_AIGateUpdate TriggerWidthX = 300.0 TriggerWidthY = 150.0 End Behavior = InheritUpgradeCreate ModuleTag_InheritStonework Radius = ISENGARD_FORTRESS_WALL_EFFECTIVE_RADIUS Upgrade = Upgrade_IsengardFortressIronPlating ObjectFilter = ANY +IsengardFortressCitadel End Behavior = AttributeModifierUpgrade ModuleTag_Reinforced TriggeredBy = Upgrade_IsengardFortressIronPlating AttributeModifier = IronPlatingExpansion_Bonus End Behavior = ModelConditionUpgrade ModuleTag_ShowThePlating TriggeredBy = Upgrade_IsengardFortressIronPlating AddConditionFlags = UPGRADE_NUMENOR_STONEWORK Permanent = Yes End ArmorSet Conditions = None Armor = IsenWallArmor DamageFX = None End ;// Geometry from small men wall gate GeometryIsSmall = No ; right pillar Geometry = BOX GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 75 GeometryOffset = X:0 Y:50 Z:0 ; left pillar AdditionalGeometry = BOX GeometryMajorRadius = 10.0 GeometryMinorRadius = 10.0 GeometryHeight = 75 GeometryOffset = X:0 Y:-50 Z:0 ; Main AdditionalGeometry = BOX GeometryName = "Closed" GeometryMajorRadius = 9.0 GeometryMinorRadius = 50.0 GeometryHeight = 50 ; Left open AdditionalGeometry = BOX GeometryName = "OpenLeft" GeometryMajorRadius = 9.0 GeometryMinorRadius = 10.0 GeometryHeight = 40 GeometryOffset = X:0 Y:-30 Z:0 ; Right open AdditionalGeometry = BOX GeometryName = "OpenRight" GeometryMajorRadius = 9.0 GeometryMinorRadius = 10.0 GeometryHeight = 40 GeometryOffset = X:0 Y:30 Z:0 // need some geometry points to tell enemy weapons where to hit. GeometryContactPoint = X:0 Y:50 Z:75 GeometryContactPoint = X:0 Y:50 Z:10 GeometryContactPoint = X:0 Y:-50 Z:10 GeometryContactPoint = X:0 Y:-50 Z:75 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYEREnd ;---------------------------------------------------------------------- Object IsengardWallCliffCap SelectPortrait = BPIWall ; *** ART Parameters *** Draw = W3DScriptedModelDraw ModuleTag_Draw OkToChangeModelColor = Yes UseStandardModelNames = Yes DefaultModelConditionState Model = dolgulwall End IdleAnimationState StateName = STATE_None End //------------ New Build Up States coming soon. ModelConditionState = SNOW AWAITING_CONSTRUCTION Model = IBWallNE_A Texture = IBFortress.tga IBFortress_snow.tga End ModelConditionState = AWAITING_CONSTRUCTION Model = dolgulwall End AnimationState = AWAITING_CONSTRUCTION Animation = IBWallNE_A AnimationName = IBWallNE_A.IBWallNE_A AnimationMode = MANUAL AnimationBlendTime = 0 End Flags = START_FRAME_FIRST End ModelConditionState = UPGRADE_NUMENOR_STONEWORK ACTIVELY_BEING_CONSTRUCTED PARTIALLY_CONSTRUCTED Model = dolgulwall Texture = IBFortress.tga IBFortress_U.tga End ModelConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED PARTIALLY_CONSTRUCTED Model = dolgulwall Texture = IBFortress.tga IBFortress_snow.tga End ModelConditionState = ACTIVELY_BEING_CONSTRUCTED PARTIALLY_CONSTRUCTED Model = dolgulwall End AnimationState = ACTIVELY_BEING_CONSTRUCTED PARTIALLY_CONSTRUCTED Animation = IBWallNE_A AnimationName = IBWallNE_A.IBWallNE_A AnimationMode = MANUAL AnimationBlendTime = 0 End Flags = START_FRAME_FIRST StateName = BeingConstructed ParticleSysBone = NONE WallConstructDust FollowBone:Yes End ;--damaged building ModelConditionState = DAMAGED Model = dolgulwall End AnimationState = DAMAGED EnteringStateFX = FX_WallDamaged End ModelConditionState = REALLYDAMAGED Model = dolgulwall End AnimationState = REALLYDAMAGED Animation = RubbleAnimation AnimationName = IBWallNE_D2.IBWallNE_D2 AnimationMode = ONCE End EnteringStateFX = FX_WallDamaged End ModelConditionState = COLLAPSING Model = dolgulwall End AnimationState = COLLAPSING Animation = RubbleAnimation AnimationName = IBWallNE_D3.IBWallNE_D3 AnimationMode = ONCE End ParticleSysBone NONE WallDestructionDust EnteringStateFX = FX_StructureMediumCollapse End ModelConditionState = RUBBLE Model = None ;GBWall_Rubble End AnimationState = RUBBLE End ModelConditionState = POST_RUBBLE Model = None ;GBWall_Rubble End AnimationState = POST_RUBBLE End ModelConditionState = POST_COLLAPSE Model = None End AnimationState = POST_COLLAPSE End ModelConditionState = UPGRADE_NUMENOR_STONEWORK Model = dolgulwall Texture = IBFortress.tga IBFortress_U.tga End ModelConditionState = SNOW Model = dolgulwall Texture = IBFortress.tga IBFortress_snow.tga End End ; Draw = W3DFloorDraw ModuleTag_DrawFloor ;; StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD; ModelName = GBWallN_Bib; End ; ***DESIGN parameters *** DisplayName = OBJECT:IsengardWallCliffCap Side = Isengard EditorSorting = STRUCTURE ThreatLevel = 1.0 CommandSet = IsengardWallCliffCapCommandSet BuildCost = MEN_WALLSEGMENT_SMALL_BUILDCOST BuildTime = MEN_WALLSEGMENT_SMALL_BUILDTIME VisionRange = MEN_WALLSEGMENT_SMALL_VISION_RANGE ShroudClearingRange = MEN_WALLSEGMENT_SMALL_SHROUD_CLEAR ; *** AUDIO Parameters *** #include "..\..\..\Includes\StandardBuildingEvaEvents.inc" SoundOnDamaged = BuildingLightDamageStone SoundOnReallyDamaged = BuildingHeavyDamageStone VoiceSelectUnderConstruction = BuildingEvilVoiceSelectUnderConstruction UnitSpecificSounds UnderConstruction = WallConstructionLoop ; Built first time ; UnderRepairFromDamage = NoSound ; Repaired No animation on the building, so don't bother playing sound UnderRepairFromRubble = WallConstructionLoop ; Repaired from completely destroyed (not used???) End ;ClientBehavior = ModelConditionAudioLoopClientBehavior ModuleTag_PlayCollapseSound ; ModelCondition = REQUIRED:RUBBLE Sound:BuildingSink ;End CampnessValue = CAMPNESS_WALL ; *** ENGINEERING Parameters *** RadarPriority = STRUCTURE KindOf = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE DEFENSIVE_WALL MADE_OF_STONE CAN_CAST_REFLECTIONS ThreatBreakdown ThreatBreakdown_ModuleTag AIKindOf = WALL End Behavior = GettingBuiltBehavior ModuleTag_04 UseSpawnTimerWithoutWorker = Yes SpawnTimer = DEFAULT_STRUCTURE_HEALDELAY SelfBuildingLoop = WallConstructionLoop ; 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 = WallConstructionLoop End Body = StructureBody ModuleTag_05 MaxHealth = MEN_WALLSEGMENT_SMALL_HEALTH End ; Behavior = DestroyDie ModuleTag_07; ;nothing; End // These should always appear together on wall segments Behavior = KeepObjectDie ModuleTag_IWantRubble DeathTypes = ALL -SUICIDED End Behavior = SlowDeathBehavior ModuleTag_SlowDeath DeathTypes = NONE +SUICIDED DestructionDelay = 5000 End ArmorSet Conditions = None Armor = IsenWallArmor DamageFX = None End Geometry = BOX GeometryMajorRadius = 10.0 GeometryMinorRadius = 40.0 GeometryHeight = 80 GeometryIsSmall = No GeometryOffset = X:0 Y:-20 Z:-40 Shadow = SHADOW_VOLUME BuildCompletion = PLACED_BY_PLAYEREnd