logo   login
right
Home Forums Downloads Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Forum Info
Forum Members: 18,677
Total Threads: 8,798
Posts: 95,842

Administrators:
DeeZire, Redemption

There are currently 31 users online.
Partner Links

Free Credit Repair

Learn the Ticket Broker Secrets
Advertisements


LOTR: Battle For Middle Earth I & II Editing Discuss any modding related issues to do with the Lord Of The Rings: Battle For Middle Earth I and II RTS games here.

Reply
 
LinkBack Thread Tools
Old 03-08-2006, 11:22 PM   #1 (permalink)
Junior Member
 
Join Date: Dec 2004
Posts: 15
Default BFME2 help, rebuildable wall hubs?

test

edit: I guess my original post was too large to make it through. Anyway..

When regular wall sections are destroyed in BFME2 they leave a pile of rubble which, when selected, are able to be rebuilt exactly as they were for 100. Regarding wall hubs when one is destroyed in the game it simply disappears and you have to build another one in its place manually (wall towers and other upgrades don't allow for the rebuild option either). The problem is sometimes the new hub won't fit in the existing gap or it won't prevent units from passing through.

A====1====B
|
|
|
2
|
|
|
C

Lets say walltower 1 is destroyed. No biggy, we'll just drag a new wall section in between hubs A and B to replace the gap with fresh wall. Thats not a big deal. But when hub A is destroyed there's no way to plug the gap and the only way to get everything the way it was before is by building another hub on a wall section somewhere between 2 and where A once was and making a new wall over top of the original. And gradually as more hubs are built and destroyed the problem gets worse and worse. So why not make wall hubs rebuildable? That would definitely address one of the issues with this game. So how do I do it?

Here's the wall hub ini followed by the regular wall ini. Im thinking it has something to do with "KeepSelectableWhenDead = Yes" and the following lines in the regular wall ini but I can't figure out how to use it. If anyone could help me out it would be great.
bananas is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 03-08-2006, 11:24 PM   #2 (permalink)
Junior Member
 
Join Date: Dec 2004
Posts: 15
Default

Hub
Code:
//------------------------------------------------------------------------------
//For the fortress hub... this is for the corners of the fortress
Object IsengardCastleWallHubExpansion

	// *** ART Parameters ***
	
	SelectPortrait = BPIFortress_WallHub
	
	Draw = W3DScriptedModelDraw ModuleTag_Draw
		OkToChangeModelColor  = Yes
		UseStandardModelNames = Yes
		DefaultModelConditionState
			Model = IBFWHub
		End
		
		IdleAnimationState
;			Flags = ADJUST_HEIGHT_BY_CONSTRUCTION_PERCENT
;			Animation				=	ReallyDamagedanimation
;				AnimationName		=	 GBWallrampart.GBWallrampart
;				AnimationMode		=	LOOP
; 			End
   			StateName = STATE_None
		End	


		;------------ New Build Up States coming soon. 
		
		ModelConditionState = SNOW AWAITING_CONSTRUCTION
			Model = IBFWHub_A
			Texture	= IBFortress.tga IBFortress_snow.tga
		End
				
		ModelConditionState   = AWAITING_CONSTRUCTION 
			Model               = IBFWHub_A
		End
		AnimationState        = AWAITING_CONSTRUCTION
			Animation           =  IBFWHub_A
				AnimationName     =  IBFWHub_A.IBFWHub_A
				AnimationMode     = MANUAL
				AnimationBlendTime = 0
			End
			Flags				  = START_FRAME_FIRST
		End

		ModelConditionState = UPGRADE_NUMENOR_STONEWORK ACTIVELY_BEING_CONSTRUCTED PARTIALLY_CONSTRUCTED
			Model	= IBFWHub_A
			Texture	= IBFortress.tga IBFortress_U.tga
		End
		ModelConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED PARTIALLY_CONSTRUCTED
			Model = IBFWHub_A
			Texture	= IBFortress.tga IBFortress_snow.tga
		End
		
		ModelConditionState   = ACTIVELY_BEING_CONSTRUCTED PARTIALLY_CONSTRUCTED
			Model               = IBFWHub_A
		End
	    
		AnimationState        = ACTIVELY_BEING_CONSTRUCTED PARTIALLY_CONSTRUCTED
			Animation           = IBFWHub_A
				AnimationName     = IBFWHub_A.IBFWHub_A
				AnimationMode     = MANUAL
				AnimationBlendTime = 0
			End
			Flags				  = START_FRAME_FIRST
			StateName			  = BeingConstructed
			BeginScript
				CurDrawablePlaySound("GondorBarracksBeginConstruction")
			EndScript
			ParticleSysBone   = NONE BuildingContructDustExpB
			ParticleSysBone   = NONE ExpIsengard
		End


		;--damaged building
	  
		ModelConditionState  = DAMAGED
			Model         = IBFWHub_D1  
		End
		AnimationState = DAMAGED
			EnteringStateFX	= FX_BuildingDamaged ;FX_HubDamaged
		End	    
		
		ModelConditionState  = REALLYDAMAGED
			Model         = IBFWHub_D2
		End
	    
	    AnimationState = REALLYDAMAGED
      		Animation				=	RubbleAnimation
				AnimationName		=	 IBFWHub_D2.IBFWHub_D2
				AnimationMode		=	ONCE
  			End
		    EnteringStateFX	= FX_BuildingReallyDamaged ;FX_HubDamaged
		End
 
		ModelConditionState  = COLLAPSING
			Model         = IBFWHub_D3
		End
		
		AnimationState = COLLAPSING
      		Animation				=	RubbleAnimation
				AnimationName		=	 IBFWHub_D3.IBFWHub_D3
				AnimationMode		=	ONCE
  			End
  			EnteringStateFX	= FX_StructureMediumCollapseNoSound
  			ParticleSysBone NONE HubDestructionDust
		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	= IBFWHub
			Texture	= IBFortress.tga IBFortress_U.tga
		End
		ModelConditionState = SNOW
			Model			= IBFWHub
			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 = GBGFWHub_bib
//	End

	BuildCost           = ISENGARD_CASTLE_WALLHUB_BUILDCOST
	BuildTime           = ISENGARD_CASTLE_WALLHUB_BUILDTIME
	VisionRange         = ISENGARD_CASTLE_WALLHUB_VISION_RANGE
	ShroudClearingRange = ISENGARD_CASTLE_WALLHUB_SHROUD_CLEAR
	CommandSet			= IsengardCastleWallHubCommandSet

	KindOf              = PRELOAD STRUCTURE SELECTABLE IMMOBILE SCORE WALL_HUB MADE_OF_STONE NEED_BASE_FOUNDATION

	Body = StructureBody ModuleTag_05
		MaxHealth				= ISENGARD_CASTLE_WALLHUB_HEALTH
		MaxHealthDamaged		= ISENGARD_CASTLE_WALLHUB_HEALTH_DAMAGED
		MaxHealthReallyDamaged	= ISENGARD_CASTLE_WALLHUB_HEALTH_REALLY_DAMAGED
	End

	ArmorSet
		Conditions        = None
		Armor             = IsenWallArmor
		DamageFX          = None
	End
	
	DisplayName  =  OBJECT:IsengardWallHubExpansion
	
	; *** 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

	CampnessValue = CAMPNESS_FORTRESS_EXPANSION  ; Even though this is a wall, it is also a fortress expansion

	// *** ENGINEERING Parameters ***
	
	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
		
		HubCapTemplateName = IsengardCastleWallHub
		DefaultSegmentTemplateName = IsengardCastleWallSegment

		CliffCapTemplateName = IsengardWallCliffCap		
		;ShoreCapTemplateName = [NAME]		
		;BorderCapTemplateName = [NAME]		
		;ElevatedSegmentTemplateName = [NAME]

	End

	Behavior = TerrainResourceBehavior ModuleTag_NewMoneyDeadSpot
		Radius			= 100		;// 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 = GettingBuiltBehavior ModuleTag_GettingBuiltBehavior
		WorkerName	= MordorWorkerNoSelect
		SpawnTimer	= DEFAULT_STRUCTURE_HEALDELAY
	End

	Behavior = CastleMemberBehavior ModuleTag_CMB
    End 
 
	Behavior                  = StructureCollapseUpdate ModuleTag_StructureCollapseUpdate 
		MinCollapseDelay        = 5000
		MaxCollapseDelay        = 5000
		CollapseDamping         = .5
		MaxShudder              = 0.6
		MinBurstDelay           = 250
		MaxBurstDelay           = 800
		BigBurstFrequency       = 4
		FXList                  = INITIAL   FX_StructureMediumCollapse
		FXList                  = ALMOST_FINAL  FX_StructureAlmostCollapse
		DestroyObjectWhenDone	= Yes
		CollapseHeight			= 100
	End

	Behavior = KeepObjectDie ModuleTag_IWantRubble
	End

	//Iron Plating
	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
		  

	Geometry              = CYLINDER
	GeometryMajorRadius   = 20.0 ; 
	GeometryMinorRadius   = 20.0 ; 
	GeometryHeight        = 70.0
	GeometryIsSmall       = No
	
	Shadow                = SHADOW_VOLUME
	BuildCompletion     = PLACED_BY_PLAYER

End
bananas is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 03-08-2006, 11:25 PM   #3 (permalink)
Junior Member
 
Join Date: Dec 2004
Posts: 15
Default

edit:Sorry, I have no earthly idea how to delete posts. Move on to the next one.
bananas is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 03-08-2006, 11:26 PM   #4 (permalink)
Junior Member
 
Join Date: Dec 2004
Posts: 15
Default

Wall
Code:
Object IsengardCastleWallSegment
  
	// *** ART Parameters ***  
  	SelectPortrait = BPIWall
  
	Draw = W3DScriptedModelDraw ModuleTag_Draw
		OkToChangeModelColor  = Yes
		UseStandardModelNames = Yes
		DefaultModelConditionState
			Model = IBWallN
		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 = IBWallN_A
			Texture	= IBFortress.tga IBFortress_snow.tga
		End
				
		ModelConditionState   = AWAITING_CONSTRUCTION 
			Model               = IBWallN_A
		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	= IBWallN_A
			Texture	= IBFortress.tga IBFortress_U.tga
		End
		
		ModelConditionState = SNOW ACTIVELY_BEING_CONSTRUCTED PARTIALLY_CONSTRUCTED
			Model = IBWallN_A
			Texture	= IBFortress.tga IBFortress_snow.tga
		End
		
		ModelConditionState   = ACTIVELY_BEING_CONSTRUCTED PARTIALLY_CONSTRUCTED
			Model               = IBWallN_A
		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         = IBWallN_D1  
		End
		AnimationState = DAMAGED
			EnteringStateFX	= FX_WallDamaged
		End	    
		
		ModelConditionState  = REALLYDAMAGED
			Model         = IBWallN_D2
		End
	    
	    AnimationState = REALLYDAMAGED
      		Animation				=	RubbleAnimation
				AnimationName		=	 IBWallN_D2.IBWallN_D2
				AnimationMode		=	ONCE
  			End
		    EnteringStateFX	= FX_WallDamaged
		End
 
		ModelConditionState  = COLLAPSING
			Model         = IBWallN_D3
		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	= IBWallN
			Texture	= IBFortress.tga IBFortress_U.tga
		End
		ModelConditionState = SNOW  
			Model = IBWallN
			Texture	= IBFortress.tga IBFortress_snow.tga
		End	 
				
	End

	Draw = W3DScriptedModelDraw ModuleTag_Draw_Rubble
		OkToChangeModelColor  = Yes
		UseStandardModelNames = Yes
		DefaultModelConditionState
			Model = None
		End
	
		ModelConditionState  = COLLAPSING
			Model         = GBWall_Rubble
		End
		
		ModelConditionState  = RUBBLE
			Model         = GBWall_Rubble
		End
	    
		ModelConditionState  = POST_RUBBLE
			Model         = GBWall_Rubble
		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_PLAYER
End
bananas is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
BFME2 help, rebuildable wall hubs? bananas LOTR: Battle For Middle Earth I & II Editing 0 03-08-2006 11:17 PM
BFME2 help, rebuildable wall hubs? bananas LOTR: Battle For Middle Earth I & II Editing 0 03-08-2006 09:40 PM
BFME2 help, rebuildable wall hubs? bananas LOTR: Battle For Middle Earth I & II Editing 0 03-08-2006 09:38 PM
BFME2, Rebuildable wall hubs? bananas LOTR: Battle For Middle Earth I & II Editing 0 03-08-2006 09:35 PM
BFME2: Rebuildable wall hubs, towers bananas LOTR: Battle For Middle Earth I & II Editing 0 03-08-2006 09:34 PM


All times are GMT -4. The time now is 03:25 AM.


Design By: Miner Skinz.com
Powered by vBulletin® Version 3.7.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.