Jump to content


Photo

Some Questions About General BFME II Modding


  • Please log in to reply
65 replies to this topic

#21 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 22 June 2008 - 10:04 PM

it was fairly simple to see what i forgot to mention (at least i think this is it)
Elsin (theoden) needs something like this in his coding:

Behavior = DozerAIUpdate ModuleTag_03
		AILuaEventsList					= InfantryFunctions
 		RepairHealthPercentPerSecond	= 2%   ; % of max health to repair each second
 		BoredTime						= 5000 ; in milliseconds
 		BoredRange				= 150  ; when bored, we look this far away to do something
 		AutoAcquireEnemiesWhenIdle		= No   ; no mine-disarming in the design at the moment
		SpecialContactPoints			= Repair
 	End

Ridder Geel

#22 Wolvman

Wolvman
  • Members
  • 71 posts
  • Location:Tennessee

Posted 22 June 2008 - 10:59 PM

Awsome help man. It worked great, now Elsin can build without a problem. Still, what about him starting on horseback? I want him to able to mount and dismount at a certain level, but with him starting off without the horse. Currently he starts off on the horse.

#23 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 22 June 2008 - 11:28 PM

just make the hero person in your playerdata thing not be the mounted version just Elsin, not Elsin mounted or whatever.
Ridder Geel

#24 Grizzlez

Grizzlez

    title available

  • Project Team
  • 667 posts
  • Location:England
  •  Coder/ini/FX writer, Skinner

Posted 22 June 2008 - 11:40 PM

You could edit his anims so the mounted and on foot are switched, that way he would start off on the horse. This is the way I do it in map.ini, only problem is that also requires editing his weaponsets, armour etc. There is probably an easier way I haven't thought of but its a way I get it to work.
Posted Image
Posted Image
Posted Image
Posted Image

Posted Image

#25 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 23 June 2008 - 12:11 AM

the easier way is the way i mentioned earlier, Wolvman, if u post ur playerdata.ini thing (the file with ur factions) ill be able to see and show and tell you exactly why ur hero is on a horse. ^_^
Ridder Geel

#26 Wolvman

Wolvman
  • Members
  • 71 posts
  • Location:Tennessee

Posted 23 June 2008 - 03:07 AM

What do you mean by the Playerdata? If your wanting the Playertemplate.ini I'll go ahead and post it for ya, but I'm not too sure what the Playerdata.ini is ^_^.

PlayerTemplate FactionAramon; the faction name
Side = Aramon; what side will your faction be on?
PlayableSide = Yes; self explanatory, choose no, and you can't play it in the game. 
Evil = No; is your faction evil or not?
StartMoney = 0; how much money will your faction start off with?
MaxLevelMP = #DIVIDE( PLAYER_MAX_PURCHASE_POINTS_DEFAULT PLAYER_PURCHASE_POINTS_GRANTED ); just ignore this for now
MaxLevelSP = #DIVIDE( PLAYER_MAX_PURCHASE_POINTS_GOOD PLAYER_PURCHASE_POINTS_GRANTED ); just ignore it
PreferredColor = R:43 G:150 B:179; the preferred color of your faction. It really isn't necessary to edit this, but feel free
StartingBuilding = AramonBarracks; the starting building of your faction 

;------------- NO STARTING UNITS FOR YOU -------
;StartingUnit0 = GondorFighterHorde; this would normally be the units your faction starts off with, but when any code line has a ';' in it, that usually means it will be ignored. 
;StartingUnitOffset0 = X:-60 Y:185 Z:0; just ignore this


StartingUnit0 = AramonMonarch;the porter that your faction will start with. 
StartingUnitOffset1 = X:30 Y:200 Z:0
StartingUnit0 = AramonMonarch 
StartingUnitOffset0 = X:1 Y:130 Z:0

StartingUnitTacticalWOTR = AramonMonarch;the starting units for war of the ring. 
StartingUnitTacticalWOTR = AramonMonarch; same thing. You can also add the same code line for different starting units if you wish to do so
IntrinsicSciences = SCIENCE_GOOD; will your faction use good or evil science?
IntrinsicSciencesMP = SCIENCE_ARAMON; the science your individual faction has. It is not required to be edited, but is suggested.
SpellBook = GoodSpellBook; evil spellbook or good spell book?
SpellBookMp = AramonSpellBook; The individual spellbook for your faction.
PurchaseScienceCommandSet = GoodSpellStoreCommandSet
PurchaseScienceCommandSetMP = AramonSpellStoreCommandSet
DisplayName = INI:FactionAramon; this is referencing to the lotr.str. It will be explained when we come to it. 
DefaultPlayerAIType = MenSkirmishAI; I'm not 100% sure, but i'd guess that it is the strategic AI that the faction uses. But again that will have to be added. 
BeaconName = MultiplayerBeacon
LightPointsUpSound = GondorLightPointsUp
ObjectiveAddedSound = Gui_MissionObjectiveNew
ObjectiveCompletedSound = Gui_MissionObjectiveCompleted
InitialUpgrades = Upgrade_AramonFaction; Any upgrades this player template is born with.

// NOTE: It is very important that the create-a-hero be the first buildable hero, to ensure that the create-a-hero and the ring hero are always 
// attached to the first two buttons in the command set.

BuildableHeroesMP = CreateAHero RohanEomer GondorBoromir RohanTheoden GondorFaramir AragornNew GondorGandalf DwarvenGimli ElvenLegolas ElvenGlorfindel ElvenHaldir ArnorCaptainStealthless; the buildable heroes for your fortress.
BuildableRingHeroesMP = ElvenGaladriel_RingHero; the ring hero for your faction. 
SpellStoreCurrentPowerLabel = APT:SpellStoreCurrentEvenstarPower
SpellStoreMaximumPowerLabel = APT:SpellStoreMaximumEvenstarPower
ResourceModifierObjectFilter = RESOURCE_MODIFIER_OBJECT_FILTER
ResourceModifierValues = 100 100 100 100 90 85 80 75 71 68 66
MultiSelectionPortrait = UPGondor_Army
LoadScreenMusic = Shell2MusicForLoadScreen
End

That's what my playertemplate code looks like for Aramon, which is the race that Elsin is for. I have him set as the beginning unit for this race.

Edited by Wolvman, 23 June 2008 - 03:08 AM.


#27 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 23 June 2008 - 05:52 AM

yea i meant playertemplate.ini
Ridder Geel

#28 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 23 June 2008 - 09:00 AM

srry , didn't need that code, i just figured there might be a mounted hero thing there...
Change this part in his code:

;;; MOUNTED HORDER SPECIAL ABILITY;;;
 	Behavior = SpecialPowerModule ModuleTag_HorseToggleStarter					  
 		SpecialPowerTemplate	  = SpecialAbilityToggleMounted
 		UpdateModuleStartsAttack  = Yes
 	;InitiateSound		   =
 		StartsPaused = No
 	End
	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_HorseToggle
 		SpecialPowerTemplate	= SpecialAbilityToggleMounted
 		
 	;UnpackingVariation		= 2
 
 		UnpackTime			  = 2000
		TriggerInstantlyOnCreate = No ;;YES;;<THIS!!!!
 		PreparationTime		 = 1  
 		PersistentPrepTime	  = 250
 		PackTime				= 2000
 		
 		OpacityTarget			= .3	; How see-thru to be at peak of change
   
 		AwardXPForTriggering	= 0
	End
I changed the
TriggerInstantlyOnCreate to No
So then he doesn't start on horse. ^_^
Ridder Geel

#29 Wolvman

Wolvman
  • Members
  • 71 posts
  • Location:Tennessee

Posted 23 June 2008 - 04:28 PM

It worked. Thanks for the awsome help. I'll let you know the next time I need help.

#30 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 23 June 2008 - 06:34 PM

Ok :umad:
Ridder Geel

#31 Wolvman

Wolvman
  • Members
  • 71 posts
  • Location:Tennessee

Posted 24 June 2008 - 01:47 AM

I have another small question. What INI file holds the coding info for unit and building textures? I want to make some adjustments to Theoden's texture but I can't find it in his specific ini file. So basically I just need to know how to tell a unit/building to use one of my own textures.

#32 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 24 June 2008 - 05:37 AM

its contained in the W3D file, run it with W3D viewer, and it will say missing textures, find these in compiledtextures folder and you will find the ones the model uses.

When looking at theoden and pressing the missing textures u get (well i get):
RUTheoden
G_Arrow

These are the textures he uses, just look for them in the TEXTURES thing and edit those.

And then in his DefaultModelConditionState you must add something like this:

Texture = RUTheoden.tga		MYRUTheoden.tga

This replaces ur texture with theodens texture ingame OK? :umad:
I'm fairly sure this helps <:)
Ridder Geel

#33 Wolvman

Wolvman
  • Members
  • 71 posts
  • Location:Tennessee

Posted 24 June 2008 - 06:29 PM

Ok, I created the texture I want to use on Elsin and saved it as a .tga file. Then I stuck it under the art\compiledtextures\ar\ folder and saved it as ARElsin.tga. Then I went into his coding and put that code under his DefaultModelConditionState so that it looks like this...

Texture = RUTheoden.tga		ARElsin.tga

It just keeps loading his normal textures though instead of mine.

I also tried this...
Texture = ARElsin.tga

I even renamed the ARElsin file to RUTheoden and put it under art\compiledtextures\ru\ to see if that worked.

It doesn't make a difference though. It just keeps loading Theoden's default texture. What am I doing wrong.

Edited by Wolvman, 24 June 2008 - 06:30 PM.


#34 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 24 June 2008 - 07:55 PM

You do need to make an ASSET.Dat file too, or else it wont work.
If you dont know how then look on the Main 3rd age website.
Ridder Geel

#35 Wolvman

Wolvman
  • Members
  • 71 posts
  • Location:Tennessee

Posted 24 June 2008 - 09:17 PM

I did do the asset.dat already but it still isn't working. I have my texture for the Theoden model that I want Elsin to use. But it's just not showing up.

Edited by Wolvman, 25 June 2008 - 01:10 AM.


#36 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 25 June 2008 - 09:30 AM

post Elsin's code then :dry:
Ill figure it out in a few seconds then :grin:
Ridder Geel

#37 Wolvman

Wolvman
  • Members
  • 71 posts
  • Location:Tennessee

Posted 25 June 2008 - 09:46 PM

Here it is.

;------------------------------------------------------------------------------
;
;	Elsin.ini
;
;------------------------------------------------------------------------------

; Elsin
Object AramonMonarch
; *** ART Parameters ***

  ; SelectPortrait for Heros is portrait behind skill buttons. HP = HeroPortrait.
	SelectPortrait = HPTheoden
	
  ; ButtonImage for Heros is button image on Hero Select UI to select hero. HI = HeroIcon or HeroImage.
	ButtonImage = HITheoden
	
	DescriptionStrategic = CONTROLBAR:LW_ToolTip_Theoden
	
	Draw = W3DScriptedModelDraw ModuleTag_DRAW

;WadingParticleSys = EntRipples

	  OkToChangeModelColor = Yes
	  
		StaticModelLODMode = yes; Will append M or L to the skin name depending on GameLOD

		DefaultModelConditionState
			Model = RUTheoden_SKN
			Skeleton = RUTheoden_SKL
					   Texture = ARElsin
		End
		ModelConditionState = WORLD_BUILDER
			Model = RUTheoden_SKN
			Skeleton = RUTheoden_SKL
		End
		
		ModelConditionState = MOUNTED
			Model	=	RUHHs_Theo_SKN
			Skeleton = RUHHs_Theo_SKL
			WeaponLaunchBone	= PRIMARY PASSENGERBONE
		End
		
		AnimationState				= MOUNTED DEBUG;shift delete to trigger
			Animation
				AnimationName	   = RUHHs_Theo_IDLA	  
				AnimationMode	   = ONCE
			End
			ParticleSysBone = BAT_HHEAD glowHorseGold FollowBone:Yes			
			ParticleSysBone = B_HHIPL glowHorseRearGold FollowBone:Yes
			ParticleSysBone = BAT_SPINE2 glowGold FollowBone:Yes			
		End
		
	
		
		
; --- stunned anims
		AnimationState				=	MOUNTED FREEFALL 
			Animation				=	freefall
				AnimationName		=	RUHHs_Theo_FLYC
				AnimationMode		=	LOOP
			End
			Flags					=	RANDOMSTART
		End

		AnimationState				=	MOUNTED STUNNED_FLAILING 
			Animation				=	JustDie
				AnimationName		=	RUHHs_Theo_FLYC
				AnimationMode		=	LOOP
			End
			Flags					=	RANDOMSTART
		End

		AnimationState				=	MOUNTED PASSENGER
			Animation				=	grabbed
				AnimationName		=	RUHHs_Theo_GBDA
				AnimationMode		=	LOOP
			End
			Flags					=	RANDOMSTART
		End

		

		AnimationState				=	MOUNTED DYING SPLATTED
			Animation				=	Land
				AnimationName		=	RUHHs_Theo_LNDA
				AnimationMode		=	ONCE
				AnimationBlendTime  =   2
			End
			FXEvent	= Frame:2 Name:FX_SplatDust
		End


; This is the no-spawn-horse type of death
		AnimationState				=	MOUNTED DYING; DEATH_2 Normally has DEATH_2, but just as a backup don't insist
			Animation				=	JustDie
				AnimationName		=	RUHHs_Theo_DIEA
				AnimationMode		=	ONCE
			End
		End

		AnimationState				=	MOUNTED STUNNED_STANDING_UP
			Animation				=	StandUp
				AnimationName		=	RUHHs_Theo_GTPA
				AnimationMode		=	ONCE
				AnimationSpeedFactorRange = 3.5 3.5
			End
		End
				
		AnimationState				=	MOUNTED STUNNED
			Animation				=	Land
				AnimationName		=	RUHHs_Theo_LNDA
				AnimationMode		=	ONCE
			End
		End
		
		
		AnimationState						= PARALYZED MOUNTED
			Animation
				AnimationName				= RUHHs_Theo_IDLA
				AnimationMode				= LOOP
			End
		End

		AnimationState		= MOUNTED MOVING FIRING_OR_PREATTACK_A
			ShareAnimation		= Yes
			Animation		   = RunAndFire
				AnimationName	   = RUHHs_Theo_ATRA
				AnimationMode	   = LOOP
			End
			Flags			   = RANDOMSTART 
		End
		


; This is what happens when Theo gives his rousing speech
		AnimationState				=	MOUNTED MOVING USING_SPECIAL_ABILITY
			Animation				=	RousingSpeech
				AnimationName		=	RUHHs_Theo_WLKB
				AnimationMode		=	LOOP
			End
	;;ParticleSysBone			=	None CalvaryDustTrails
		End
		
		AnimationState				=	MOUNTED TURN_LEFT_HIGH_SPEED
			Animation				=	TurnLeft
				AnimationName		=	RUHHs_Theo_TNL1
				AnimationMode		=	LOOP
				AnimationSpeedFactorRange= 1.2 1.2
				AnimationBlendTime	=	20
			End
		End
		
		AnimationState				=	MOUNTED TURN_RIGHT_HIGH_SPEED
			Animation				=	TurnLeft
				AnimationName		=	RUHHs_Theo_TNR1
				AnimationMode		=	LOOP
				AnimationSpeedFactorRange= 1.2 1.2
				AnimationBlendTime	=	20
			End
		End
		

		AnimationState				=	MOUNTED MOVING TURN_LEFT 
			Animation				=	TurnLeft
				AnimationName		=	RUHHs_Theo_TRNL
				AnimationMode		=	LOOP
			End
;	;ParticleSysBone			=	None CalvaryDustTrails
		End

		AnimationState				=	MOUNTED MOVING TURN_RIGHT 
			Animation				=	TurnRight
				AnimationName		=	RUHHs_Theo_TRNR
				AnimationMode		=	LOOP
			End
;	;ParticleSysBone			=	None CalvaryDustTrails
		End

		AnimationState				=	MOUNTED MOVING ACCELERATE
			Animation				=	Accelerate
				AnimationName		=	RUHHs_Theo_ACCL

				AnimationMode		=	LOOP
			End
	;ParticleSysBone			=	None CalvaryDustTrails
		End

		AnimationState				=	MOUNTED MOVING DECELERATE
			Animation				=	Decelerate
				AnimationName		=	RUHHs_Theo_DECL
				AnimationMode		=	ONCE
				AnimationSpeedFactorRange = 0.6 0.6
			End
	;ParticleSysBone			=	None CalvaryDustTrails
		End

		AnimationState				=	MOUNTED MOVING WALKING
			Animation				=	Walk
				AnimationName		=	RUHHs_Theo_WLKA
				AnimationMode		=	LOOP
			End
	;ParticleSysBone			=	None InfantryDustTrails  
		End
		
		AnimationState				=	MOUNTED MOVING BACKING_UP
			Animation				=	BackingUp
				AnimationName		=	RUHHs_Theo_BAKA
				AnimationMode		=	LOOP
			End
	;ParticleSysBone			=	None InfantryDustTrails  
		End


		AnimationState				=	MOUNTED MOVING
			Animation				=	RunA
				AnimationName		=	RUHHs_Theo_RUNA
				AnimationMode		=	LOOP
			End
	;ParticleSysBone			=	None CalvaryDustTrails  
		End
		
		AnimationState						=	PACKING_TYPE_2 MOUNTED
			StateName						=	SPELL
			Animation						=	SPCC
				AnimationName				=	RUHHs_Theo_SPCA
				AnimationMode				=	ONCE
				AnimationBlendTime	=	20
			End
		End
		
		AnimationState						=	PACKING_TYPE_1 MOUNTED
			StateName						=	SPELL
			Animation						=	SPCC
				AnimationName				=	RUHHs_Theo_IDLC
				AnimationSpeedFactorRange	=	0.842 0.842
				AnimationMode				=	ONCE
			End		
		End
		
		AnimationState				=	MOUNTED FIRING_OR_PREATTACK_A
			Animation				=	AttackA
				AnimationName		=	RUHHs_Theo_ATKA
				AnimationMode		=	ONCE
				UseWeaponTiming		=	Yes
			End
			Animation				=	AttackB
				AnimationName		=	RUHHs_Theo_ATKB
				AnimationMode		=	ONCE
				UseWeaponTiming		=	Yes
			End
			Flags					=	RESTART_ANIM_WHEN_COMPLETE
		End

		AnimationState				=	MOUNTED ATTACKING
			Animation				=	AttackA
				AnimationName		=	RUHHs_Theo_ATKA
				AnimationMode		=	MANUAL
			End
		End

		AnimationState				= MOUNTED LEVELED		 ; This state clears itself in 3 seconds
			StateName				= Idle
			Animation				= LevelUp
				AnimationName		= RUHHs_Theo_IDLC
				AnimationMode		= ONCE
				AnimationSpeedFactorRange	=	0.666 0.666
			End
		End
		
		AnimationState				=	RAISING_FLAG MOUNTED
				Animation		   =	CHRA
					AnimationName   =	RUHHs_Theo_CHRA
					AnimationMode   =	LOOP
				End
		End

		AnimationState				=	EMOTION_TAUNTING MOUNTED
				Animation		   =	CHRA
					AnimationName   =	RUHHs_Theo_CHRA
					AnimationMode   =	LOOP
				End
		End

		AnimationState				= MOUNTED EMOTION_CELEBRATING
			Animation				= LevelUp
				AnimationName		= RUHHs_Theo_IDLC
				AnimationMode		= LOOP
			End
		End
		
		AnimationState				=	MOUNTED SELECTED
			SimilarRestart			=   Yes			
			StateName				=	AtAttentionIdle
			Animation				=	ATNB
				AnimationName		=	RUHHs_Theo_IDLH
				AnimationMode		=	LOOP
			End
			BeginScript
				Prev = CurDrawablePrevAnimationState()
				if Prev == "Idle" then CurDrawableSetTransitionAnimState("TRANS_MountedSelect") end
				if Prev == "AtAttentionIdle" then CurDrawableSetTransitionAnimState("TRANS_MountedSelect") end
			EndScript
		End
		
		TransitionState				=	TRANS_MountedSelect
			Animation				=	ATNA
				AnimationName		=	RUHHs_Theo_ATNA
				AnimationMode		=	ONCE
			End
		End
		
		AnimationState			= MOUNTED
			StateName = Idle
			Animation	=	IdleA
				AnimationName		=	RUHHs_Theo_IDLA
				AnimationPriority	=	20
				AnimationMode		=	ONCE
				AnimationBlendTime	=	15
			End
			Animation				=	IdleB
				AnimationName		=	RUHHs_Theo_IDLB
				AnimationMode		=	ONCE
				AnimationBlendTime	=	15
			End
			Animation				=	IdleC
				AnimationName		=	RUHHs_Theo_IDLC
				AnimationMode		=	ONCE
				AnimationBlendTime	=	15
			End
			Flags					=	RESTART_ANIM_WHEN_COMPLETE
		End

; --- Idle Anims
		IdleAnimationState
			StateName				=	BORED
			Animation				=	IDLB
				AnimationName		=	RUTheoden_IDLB
				AnimationMode		=	ONCE
				AnimationPriority	=	1
			End
			Animation				=	IDLC
				AnimationName		=	RUTheoden_IDLC
				AnimationMode		=	ONCE
				AnimationPriority	=	10
			End
			Animation				=	IDLD
				AnimationName		=	RUTheoden_IDLD
				AnimationMode		=	ONCE
				AnimationPriority	=	1
			End
			Animation				=	IDLE
				AnimationName		=	RUTheoden_IDLE
				AnimationMode		=	ONCE
				AnimationPriority	=	1
			End
			Flags				=	RESTART_ANIM_WHEN_COMPLETE
			BeginScript
				Prev = CurDrawablePrevAnimationState()
				if Prev == "SELECTED"	then CurDrawableSetTransitionAnimState("Transition_SelectedToBored") end
				if Prev == "READY"		then CurDrawableSetTransitionAnimState("Transition_ReadyToBored") end
			EndScript
		End
		
		AnimationState				=	FREEFALL 
			Animation				=	freefall
				AnimationName		=	RUTheoden_FLYA
				AnimationMode		=	LOOP
			End
			Flags					=	RANDOMSTART
		End
		
		AnimationState						=	STUNNED_FLAILING 
			Flags							=	RANDOMSTART
			Animation						=	RUTheoden_FLYA
				AnimationName				=	RUTheoden_FLYA
				AnimationMode				=	LOOP
				AnimationSpeedFactorRange	= 0.4 0.6
			End
		End
		
; --- Dying anims
		AnimationState						=	DYING SPLATTED
			Animation						=	RUTheoden_LNDA
				AnimationName				=	RUTheoden_LNDA
				AnimationMode				=	ONCE
			End
		End
		AnimationState						=	DYING
			Animation						=	RUTheoden_DIEA; this one sucks.
				AnimationName				=	RUTheoden_DIEA
				AnimationMode				=	ONCE
			End
			Animation						=	RUTheoden_DIEB
				AnimationName				=	RUTheoden_DIEB
				AnimationMode				=	ONCE
			End
		End

		AnimationState						= PARALYZED
			Animation
				AnimationName				= RUTheoden_IDLB
				AnimationMode				= ONCE_BACKWARDS
			End
			Flags							= START_FRAME_FIRST
		End

; --- Stunned anims
						
		AnimationState						=	STUNNED_STANDING_UP
			Animation						=	RUTheoden_GTPA
				AnimationName				=	RUTheoden_GTPA
				AnimationMode				=	ONCE
				AnimationSpeedFactorRange = 1.5 1.5
			End
		End
		AnimationState						=	STUNNED 
			Animation						=	RUTheoden_LNDA
				AnimationName				=	RUTheoden_LNDA
				AnimationMode				=	ONCE
			End
		End
		

		AnimationState		= MOVING FIRING_OR_PREATTACK_A
			ShareAnimation		= Yes
			Animation		   = RunAndFire
				AnimationName	   = RUTheoden_ATRA
				AnimationMode	   = LOOP
			End
			Flags			   = RANDOMSTART 
		End
		
		
; Attacking Anims
		AnimationState						=	FIRING_OR_PREATTACK_A
			Animation						=	ATKA
				AnimationName				=	RUTheoden_ATKA
				AnimationMode				=	ONCE
				UseWeaponTiming				=	Yes
		;AnimationSpeedFactorRange	=	.826 .826
			End
			Animation						=	ATKB
				AnimationName				=	RUTheoden_ATKB
				AnimationMode				=	ONCE
		;AnimationSpeedFactorRange	=	.9066 .9066
			End
			Animation						=	ATKC
				AnimationName				=	RUTheoden_ATKC
				AnimationMode				=	ONCE
				UseWeaponTiming				=	Yes
		;AnimationSpeedFactorRange	=	1.1466 1.1466
			End
			Animation						=	ATKD
				AnimationName				=	RUTheoden_ATKD
				AnimationMode				=	ONCE
				UseWeaponTiming				=	Yes
		;AnimationSpeedFactorRange	=	1.0666 1.0666
			End
		End
		
		AnimationState						=	MOVING ATTACKING
			Animation						=	RUTheoden_RUNB
				AnimationName				=	RUTheoden_RUNB
				AnimationSpeedFactorRange	=	0.4 0.4
				AnimationMode				=	LOOP
				AnimationBlendTime			=   10
				Distance					=	30
			End
		End	
			
		AnimationState						=	MOVING 
			Animation						=	RUTheoden_RUNA
				AnimationName				=	RUTheoden_RUNA
				AnimationMode				=	LOOP
				Distance					=	30
			End
		End

		AnimationState						=	PACKING_TYPE_2
			StateName						=	SPELL
			Animation						=	SPCC
				AnimationName				=	RUTheoden_SPCB
				AnimationSpeedFactorRange	=	1.1666 1.1666
				AnimationMode				=	ONCE
				AnimationBlendTime	=	20
			End
			Animation						=	SPCD
				AnimationName				=	RUTheoden_SPCC
				AnimationMode				=	ONCE
				AnimationBlendTime	=	20
			End
		End
	
; --------- Click and Hit Reactions ------------
		AnimationState						= HIT_REACTION HIT_LEVEL_1
			Animation						= Hit_Level_1_a
				AnimationName				= RUTheoden_HITA
				AnimationMode				= ONCE
			End
		End
		
;----Emotion Animations

		AnimationState				= LEVELED 				; This state clears itself in 3 seconds
			Animation				= LevelUp
				AnimationName		= RUTheoden_CHRB
				AnimationMode		= ONCE
			End
		End
		
		AnimationState				=	EMOTION_CELEBRATING
			Animation				=	CHRA
				AnimationName		=	RUTheoden_CHRA
				AnimationMode		=	ONCE
			End
			Animation				=	CHRB
				AnimationName		=	RUTheoden_CHRB
				AnimationMode		=	ONCE
			End
			Flags					=	RESTART_ANIM_WHEN_COMPLETE
		End
		
		AnimationState				=	EMOTION_TAUNTING
			Animation				=	CHRB
				AnimationName		=	RUTheoden_CHRB
				AnimationMode		=	ONCE
			End
			Flags					=	RESTART_ANIM_WHEN_COMPLETE
		End
		
		AnimationState				=	EMOTION_ALERT
			StateName				=	READY
			Animation				=	ready
				AnimationName		=	RUTheoden_IDLA
				AnimationMode		=	LOOP
				AnimationBlendTime	=	20
			End
			BeginScript
				Prev = CurDrawablePrevAnimationState()
				if Prev == "BORED"		then CurDrawableSetTransitionAnimState("Transition_BoredToReady") end
				if Prev == "SELECTED"	then CurDrawableSetTransitionAnimState("Transition_SelectedToReady") end
			EndScript
		End
		
		AnimationState				=	RAISING_FLAG
			Animation				=	CHRA
				AnimationName		=	RUTheoden_CHRA
				AnimationMode		=	ONCE
			End
			Animation				=	CHRB
				AnimationName		=	RUTheoden_CHRB
				AnimationMode		=	ONCE
			End
			Flags					=	RESTART_ANIM_WHEN_COMPLETE
		End

		AnimationState				=	SELECTED 
			StateName				=	SELECTED
			Animation				=	ATNB
				AnimationName		=	RUTheoden_ATNB
				AnimationMode		=	LOOP
			End
			BeginScript
				Prev = CurDrawablePrevAnimationState()
				if Prev == "BORED" then CurDrawableSetTransitionAnimState("Transition_BoredToSelected") end
				if Prev == "READY" then CurDrawableSetTransitionAnimState("Transition_ReadyToSelected") end
				if Prev == "SPELL" then CurDrawableSetTransitionAnimState("Transition_ReadyToSelected") end
			EndScript
		End		
		
		TransitionState Transition_BoredToReady
			Animation				=	ready
				AnimationName		=	RUTheoden_IDLA
				AnimationMode		=	LOOP
				AnimationBlendTime	=	20
			End
		End
		
		TransitionState Transition_ReadyToBored
			Animation				=	IDLC
				AnimationName		=	RUTheoden_IDLC
				AnimationMode		=	ONCE
				AnimationBlendTime	=	20
			End
		End
		
		TransitionState Transition_BoredToSelected
			Animation				=	ATNA
				AnimationName		=	RUTheoden_ATNA
				AnimationMode		=	ONCE
			End
		End

		TransitionState Transition_SelectedToBored
			Animation				=	ATNE
				AnimationName		=	RUTheoden_ATNE
				AnimationMode		=	ONCE
			End
		End
	
		TransitionState Transition_SelectedToReady
			Animation				=	ATNC
				AnimationName		=	RUTheoden_ATNA; RUTheoden_ATNC doesn't exist.
				AnimationMode		=	ONCE
			End
		End
		
		TransitionState Transition_ReadyToSelected
			Animation				=	ATNC
				AnimationName		=	RUTheoden_ATNA; RUTheoden_ATNC doesn't exist
				AnimationMode		=	ONCE_BACKWARDS
			End
			Flags = START_FRAME_LAST
		End
	End


	Draw = W3DScriptedModelDraw DustEffects
		DefaultModelConditionState		 
		 Model = None
		End
		IdleAnimationState
		End
		AnimationState = MOUNTED MOVING WADING
			ParticleSysBone = None FootstepSlash
		End
		AnimationState = MOUNTED MOVING ACCELERATE
			ParticleSysBone = None GenericSiegeTrailDust
		End
		AnimationState = MOUNTED MOVING ACCELERATE
			ParticleSysBone = None GenericSiegeTrailDust
		End
		AnimationState = MOUNTED MOVING
		End
	End



	#include "..\..\..\includes\StunDrawModuleSmall.inc"

; ***DESIGN parameters ***
	Side = Aramon
	EditorSorting = UNIT
	ThreatLevel = THEODEN_THREAT_LEVEL
	ThingClass = CHARACTER_UNIT
	  BuildCost		   = THEODEN_BUILDCOST
	  BuildTime		   = THEODEN_BUILDTIME
	ShockwaveResistance = SHOCKWAVE_RESISTANCE_WEAK;; SHOCKWAVE_RESISTANCE_STRONG
;//DisplayMeleeDamage = THEODEN_DAMAGE

	TransportSlotCount = TRANSPORTSLOTCOUNT_HERO
	WeaponSet
		Conditions = NONE
		Weapon = PRIMARY	TheodenSword
		AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
	End
	WeaponSet
		Conditions = MOUNTED
		Weapon = PRIMARY	TheodenSwordMounted
		AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
	End
	
;------ Armor Sets --------
	ArmorSet
		Conditions	  = None
		Armor		   = HeroArmor
		DamageFX		= NormalDamageFX
	End
	ArmorSet
		Conditions	  = MOUNTED
		Armor		   = HeroArmorMounted
		DamageFX		= NormalDamageFX
	End

	VisionRange = VISION_HERO_STANDARD				
	ShroudClearingRange = SHROUD_CLEAR_HERO
	MaxVisionBonusPercent = 300%
	VisionBonusTestRadius = 200
	VisionBonusPercentPerFoot = 1.0%			

	BountyValue = ROHAN_THEODEN_BOUNTY_VALUE
	DisplayName = OBJECT:AramonMonarch
	RecruitText = CONTROLBAR:RohanTheodenRecruit
	ReviveText	= CONTROLBAR:RohanTheodenRevive
	Hotkey		= CONTROLBAR:RohanTheodenHotkey
	CrusherLevel = 0	;Can I crush anything?
	MountedCrusherLevel = 1;Crush level when mounted.
	CrushableLevel = 2	;What am I?:		0 = for infantry, 1 = for trees, 2 = cavalry/heroes
	MountedCrushableLevel = 2;Crusable level when mounted.

	CrushWeapon		= HeroCrush  

	MinCrushVelocityPercent = 50; Has to be moving at at least 50% of full speed.
	CrushDecelerationPercent = 30; Lose xx percent of max velocity when crushing.
	
	CrushKnockback = 40
	CrushZFactor = 1.0

	CommandSet = AramonMonarchCommandSet
	CommandPoints = 0;;0


; *** AUTO RESOLVE DATA *** 
	AutoResolveUnitType = AutoResolveUnit_Hero
	AutoResolveCombatChain = AutoResolve_HeroCombatChain

	AutoResolveBody = AutoResolve_TheodenBody	

	AutoResolveArmor
		Armor = AutoResolve_TheodenArmor
	End

	AutoResolveWeapon
		Weapon = AutoResolve_TheodenWeapon
	End

	AutoResolveLeadership = AutoResolve_TheodenBonus
  

; *** AUDIO Parameters ***;

	VoiceAttack			= TheodenVoiceAttack
	VoiceAttackCharge		= TheodenVoiceAttackCharge
	VoiceAttackStructure	= TheodenVoiceAttackBuilding
;VoiceCreated		= TheodenVoiceSalute;this conflicts with his respawn dialogue line -- rehooked to spawn FX
;VoiceFullyCreated	= TheodenVoiceSalute;this conflicts with his respawn dialogue line -- rehooked to spawn FX
	VoiceFear			= TheodenVoiceHelpMe
	VoiceGuard			= TheodenVoiceMove
	VoiceMove			= TheodenVoiceMove
	VoiceMoveToCamp		= TheodenVoiceMoveCamp
	VoicePriority		= 86
	VoiceSelect			= TheodenVoiceSelectMS
	VoiceSelectBattle		= TheodenVoiceSelectBattle

	SoundCrushing		= RohirrimCrushing; Sound made when crushing another unit underhoof
	SoundImpact			= ImpactHorse

;TheodenVoiceDismountHobbit
;TheodenVoiceFavor
;TheodenVoiceGloriousCharge
;TheodenVoiceJoinHobbit
;TheodenVoiceSpeech
;TheodenRousingSpeechEnd (old speech?)

	UnitSpecificSounds
		VoiceGarrison	= TheodenVoiceGarrison
		VoiceEnterUnitElvenTransportShip	= TheodenVoiceMove
		VoiceInitiateCaptureBuilding		= TheodenVoiceMove
	End

	ClientBehavior = ModelConditionSoundSelectorClientBehavior ModuleTag_MCSoundSelector
		SoundState = MOUNTED
			VoiceMove			= TheodenVoiceMoveMounted
			VoiceSelect			= TheodenVoiceSelectMountedMS
		End
	End

	CrowdResponseKey = GoodMen

	#include "..\..\..\includes\StandardUnitEvaEvents.inc"
	EvaEventDieOwner 	= TheodenDie	;Eva event to trigger on unit's death. NOTICE THAT this is only for permanent deaths

	ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
		MaxUpdateRangeCap = 800
		AnimationSound = Sound:FootstepDirtA		Animation:RUTheoden_SKL.RUTheoden_RUNA	Frames:5 16
		AnimationSound = Sound:FootstepDirtA		Animation:RUTheoden_SKL.RUTheoden_RUNB	Frames:4 12 20 27

		AnimationSound = Sound:TauntHumanHitShield	Animation:RUTheoden_SKL.RUTheoden_CHRB	Frames:21 31

		AnimationSound = Sound:BodyFallGenericNoArmor	Animation:RUTheoden_SKL.RUTheoden_DIEA	Frames:47
		AnimationSound = Sound:BodyFallGenericNoArmor	Animation:RUTheoden_SKL.RUTheoden_DIEB	Frames:19
		AnimationSound = Sound:BodyFallSoldier		Animation:RUTheoden_SKL.RUTheoden_LNDA	Frames:1

		AnimationSound = Sound:HorseMoveFootsteps		Animation:RUHHs_Theo_SKL.RUHHs_Theo_ACCL	Frames:14 32
		AnimationSound = Sound:HorseMoveFootsteps		Animation:RUHHs_Theo_SKL.RUHHs_Theo_RUNA	Frames:0
		AnimationSound = Sound:HorseMoveFootsteps		Animation:RUHHs_Theo_SKL.RUHHs_Theo_TNL1	Frames:0
		AnimationSound = Sound:HorseMoveFootsteps		Animation:RUHHs_Theo_SKL.RUHHs_Theo_TNR1	Frames:0

		AnimationSound = Sound:HorseWhinny			Animation:RUHHs_Theo_SKL.RUHHs_Theo_IDLC	Frames:3

		AnimationSound = Sound:HorseDieForHero		Animation:RUHHs_Theo_SKL.RUHHs_Theo_LNDA	Frames:0
		AnimationSound = Sound:BodyFallSoldier		Animation:RUHHs_Theo_SKL.RUHHs_Theo_LNDA	Frames:1 9

		AnimationSound = Sound:HorseDieForHero		Animation:RUHHs_Theo_SKL.RUHHs_Theo_DIEA	Frames:0
		AnimationSound = Sound:BodyFallGenericNoArmor	Animation:RUHHs_Theo_SKL.RUHHs_Theo_DIEA	Frames:4
		AnimationSound = Sound:BodyFallSoldier		Animation:RUHHs_Theo_SKL.RUHHs_Theo_DIEA	Frames:42
	End

	Behavior = LargeGroupAudioUpdate ModuleTag_LGAU			; Tie into LargeGroupAudio system
		Key = Humanoid_Male Man Man_Male Unit Infantry Hero
	End


; *** ENGINEERING Parameters ***

	RadarPriority = UNIT
	KindOf = HERO PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY PATH_THROUGH_EACH_OTHER SCORE ARMY_SUMMARY HEAVY_MELEE_HITTER DOZER PORTER
	PathfindDiameter = 40.0

	Body = RespawnBody ModuleTag_RespawnBody
		CheerRadius 			= EMOTION_CHEER_RADIUS
		MaxHealth				= THEODEN_HEALTH;BALANCE Theoden Health
		PermanentlyKilledByFilter	= NONE;Who kills me permanently?
   		DodgePercent			  = HERO_DODGE_PERCENT
	End

	Behavior = RespawnUpdate ModuleTag_RespawnUpdate
		DeathAnim				= DYING		;Model condition to play when killed-to-respawn
		DeathFX				= FX_TheodenDieToRespawn;FXList to play when killed-to-respawn
		DeathAnimationTime		= 4000		;How long DeathAnim will take.
		InitialSpawnFX			= FX_TheodenInitialSpawn
		RespawnAnim				= LEVELED		;Animation to play when respawning.
		RespawnFX				= FX_TheodenRespawn;FXList to play when respawning.
		RespawnAnimationTime		= 4000		;Time it takes for respawn to play.
		AutoRespawnAtObjectFilter	= NONE +CASTLE_KEEP;Respawn at this location -- and at it's exit production point if possible.
		ButtonImage				= HITheoden_res
		
;RespawnEntries determine the ruleset for how a character can be revived. Some units may automatically respawn, others
;may require a specific revive action performed on him. You can specify different values for each level... or use Level:Any
		RespawnRules =	AutoSpawn:No		Cost:550		Time:70000		Health:100%;DEFAULT VALUES
		RespawnEntry =	Level:2				Cost:550		Time:70000				;;50% cost, 1x buildtime;For other levels, only override what is different.
		RespawnEntry =	Level:3				Cost:550 		Time:70000
		RespawnEntry =	Level:4				Cost:550 		Time:70000
		RespawnEntry =	Level:5				Cost:715		Time:140000				;;65% cost, 2x buildtime
		RespawnEntry =	Level:6				Cost:715		Time:140000
		RespawnEntry =	Level:7				Cost:715		Time:140000
		RespawnEntry =	Level:8				Cost:880		Time:210000 			;;80% cost, 3x buildtime
		RespawnEntry =	Level:9				Cost:880		Time:210000 
		RespawnEntry =	Level:10			Cost:880		Time:210000 
	End

	Behavior = AutoAbilityBehavior ModuleTag_AutoAbilityBehavior
	End		

	Behavior = AutoHealBehavior ModuleTag_TheodenHealing
		StartsActive = Yes
		HealingAmount = 20;;HERO_HEAL_AMOUNT
		HealingDelay = 1000
		StartHealingDelay = HERO_HEAL_DELAY
		HealOnlyIfNotInCombat = Yes

	End
	
	Behavior = EmotionTrackerUpdate	Module_EmotionTracker
		TauntAndPointDistance		=	300; max distance to taunted/pointed objet
 		TauntAndPointUpdateDelay	=	1000; how often scan (milliseconds)
 		
		AddEmotion			=	Doom_Base
		//	AddEmotion			=   BraceForBeingCrushed_Base
		//	AddEmotion			=	FearIdle_Base
		//	AddEmotion			=	FearBusy_Base
		AddEmotion			=	Point_Base
		AddEmotion			=	Taunt_Base
 		AddEmotion			=	CheerIdle_Base
		AddEmotion			=	CheerBusy_Base
		//	AddEmotion			=	HeroCheerIdle_Base
		//	AddEmotion			=	HeroCheerBusy_Base
		AddEmotion			=	Alert_Base
		AddEmotion			=	CheerForAboutToCrush_Base
 	End	
 	
	Behavior = NotifyTargetsOfImminentProbableCrushingUpdate ModuleTag_NotifyCrushScan
	End

 	Behavior = StancesBehavior ModuleTag_StancesBehavior
		StanceTemplate = Hero
	End
	
	#include "..\..\..\includes\CaptureBuilding.inc"
	
	Behavior = AIUpdateInterface ModuleTag_03
		AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
		MoodAttackCheckRate		= 500
		HoldGroundCloseRangeDistance = 40
		AILuaEventsList	=	TheodenFunctions
	End
	
	LocomotorSet
		Locomotor = TheodenHumanLocomotor
		Condition = SET_NORMAL 
		Speed	 = NORMAL_GOOD_HERO_SPEED
	End
	
	LocomotorSet
		Locomotor = HeroHorseLocomotor
		Condition = SET_MOUNTED
		Speed	 = NORMAL_CAVALRY_FAST_HORDE_SPEED
	End
	
	Behavior = AttributeModifierAuraUpdate ModuleTag_Leadership
		StartsActive		= No;If no, requires upgrade to turn on.
		BonusName		= GenericDamageLeadership;;GenericHeroLeadership
		TriggeredBy		= Upgrade_TheodenLeadership
		RefreshDelay		= 2000
		Range			= 200
;;AntiCategory	= BUFF
		ObjectFilter		= GENERIC_BUFF_RECIPIENT_OBJECT_FILTER
	End
	
	Behavior = UnpauseSpecialPowerUpgrade ModuleTag_TheodenLeadership
		SpecialPowerTemplate = SpecialAbilityFakeLeadership
		TriggeredBy = Upgrade_TheodenLeadership
	End
	Behavior = SpecialPowerModule ModuleTag_TheodenLeadershipUpdate   
		SpecialPowerTemplate	  = SpecialAbilityFakeLeadership
		UpdateModuleStartsAttack  = No
		StartsPaused = Yes
	End	

;;; KINGS FAVOUR;;;	
	Behavior = UnpauseSpecialPowerUpgrade ModuleTag_KingsFavorEnabler
		SpecialPowerTemplate = SpecialAbilityKingsFavor
		TriggeredBy = Upgrade_TheodenKingsFavor
	End
	
 	Behavior = SpecialPowerModule ModuleTag_KingsFavorSpecialPowerModule
		SpecialPowerTemplate		= SpecialAbilityKingsFavor 
		StartsPaused				= Yes
		UpdateModuleStartsAttack	= Yes
		InitiateSound				= TheodenVoiceFavor
	End
	
 	Behavior = LevelGrantSpecialPower ModuleTag_KingsFavor
		SpecialPowerTemplate		= SpecialAbilityKingsFavor
		UnpackingVariation			= 2
		StartAbilityRange			= 200.0
;		LevelFX = FX_PorterDeliver
		LevelFX						= FX_LevelUp

		Experience					= 50
		RadiusEffect				= 150
		AcceptanceFilter			= KINGSFAVOR_OBJECTFILTER

		UnpackTime					= 3000
		PreparationTime				= 0
		FreezeAfterTriggerDuration	= 2000; Hold AI for this long after we fire.		
	End	
	
;-------------------------------------------
	
;;;; Elven Gift bonus
	
	Behavior = AutoHealBehavior ModuleTag_ElvenGiftHealing
		StartsActive				= No
		TriggeredBy					= Upgrade_ElvenGift
		HealingAmount				= ELVEN_GIFT_REGEN_AMOUNT
		HealingDelay				= ELVEN_GIFT_REGEN_DELAY
		StartHealingDelay = HERO_HEAL_DELAY
		HealOnlyIfNotInCombat = Yes
	End
	
	Behavior = AttributeModifierUpgrade ModuleTag_ElvenGiftBonus
		TriggeredBy = Upgrade_ElvenGift
		AttributeModifier = SpellBookElvenGifts
	End
	
		
	Behavior = UnpauseSpecialPowerUpgrade ModuleTag_TheodenGloriousChargeEnabler
		SpecialPowerTemplate = SpecialAbilityTheodenGloriousCharge
		TriggeredBy = Upgrade_TheodenGloriousCharge
	End
	Behavior = SpecialPowerModule ModuleTag_TheodenGloriousChargeUpdate   
		SpecialPowerTemplate	  = SpecialAbilityTheodenGloriousCharge
		UpdateModuleStartsAttack  = Yes
		StartsPaused = Yes
		AttributeModifier = TheodenGloriousCharge
		AttributeModifierRange = 200
		AttributeModifierAffectsSelf = Yes
		AttributeModifierAffects = ANY +CAVALRY
		AttributeModifierFX = FX_TheodenGloriousChargeFX
	End
	
	Behavior = SpecialAbilityUpdate ModuleTag_GloriousChargeAnimation
		UnpackTime			  = 1000
		UnpackingVariation		= 1
		
		SpecialPowerTemplate	= SpecialAbilityTheodenGloriousCharge
 		PreparationTime		 = 0  
 		PersistentPrepTime	  = 0
 		PackTime				= 1330
 	End
	
;;; MOUNTED HORDER SPECIAL ABILITY;;;
 	Behavior = SpecialPowerModule ModuleTag_HorseToggleStarter					  
 		SpecialPowerTemplate	  = SpecialAbilityToggleMounted
 		UpdateModuleStartsAttack  = Yes
 ;InitiateSound		   =
 		StartsPaused = No
 	End
	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_HorseToggle
 		SpecialPowerTemplate	= SpecialAbilityToggleMounted
 		
 ;UnpackingVariation		= 2
 
 		UnpackTime			  = 2000
		TriggerInstantlyOnCreate = No;;Changed by Wolvman
 		PreparationTime		 = 1  
 		PersistentPrepTime	  = 250
 		PackTime				= 2000
 		
 		OpacityTarget			= .3; How see-thru to be at peak of change
   
 		AwardXPForTriggering	= 0
	End	
	  
	Behavior = DualWeaponBehavior ModuleTag_13
		SwitchWeaponOnCloseRangeDistance = 80
	End

	Behavior = PhysicsBehavior ModuleTag_04
		GravityMult = 1.0
	End
		
	Behavior = SlowDeathBehavior ModuleTag_05
		DeathTypes = ALL 
		SinkDelay = 3000
		SinkRate = 0.40; in Dist/Sec
		DestructionDelay = 8000
		Sound = INITIAL TheodenVoiceDie
	End
	
	Behavior = SquishCollide ModuleTag_06
;nothing
	End
	
	Behavior = HitReactionBehavior HitReactionBehaviorModuleTag
		HitReactionLifeTimer1 = 7; level 1 (light  damage)  hit reaction animations in frames (5 per sec)
		HitReactionLifeTimer2 = 15; level 2 (medium damage)  hit reaction animations in frames (5 per sec)
		HitReactionLifeTimer3 = 10; level 3 (heavy  damage)  hit reaction animations in frames (5 per sec)

		HitReactionThreshold1 = 0.0 ; level 1 (light  damage) threshold trigger
		HitReactionThreshold2 = 25.0; level 2 (medium damage) threshold trigger
		HitReactionThreshold3 = 50.0; level 3 (heavy  damage) threshold trigger
	End
	
Behavior = DozerAIUpdate ModuleTag_03
		AILuaEventsList					= InfantryFunctions
		RepairHealthPercentPerSecond	= 2% ; % of max health to repair each second
		BoredTime						= 5000; in milliseconds
		BoredRange				= 150; when bored, we look this far away to do something
		AutoAcquireEnemiesWhenIdle		= No ; no mine-disarming in the design at the moment
		SpecialContactPoints			= Repair
	End
	

;///////////////////
; AISpecialPowers
;///////////////////

	Behavior = AISpecialPowerUpdate TheodenToggleMountedAI
		CommandButtonName = Command_TheodenToggleMounted
		SpecialPowerAIType = AI_SPECIAL_POWER_TOGGLE_MOUNTED
	End

	Behavior = AISpecialPowerUpdate SpecialPowerTheodenGiveXPAoE
		CommandButtonName = Command_SpecialAbilityKingsFavor
		SpecialPowerAIType = AI_SPECIAL_POWER_GIVEXP_AOE
		SpecialPowerRadius = 30.0
	End
	
	Behavior = AISpecialPowerUpdate SpecialPowerTheodenGloriousCharge
		CommandButtonName = Command_SpecialAbilityTheodenGloriousCharge
		SpecialPowerAIType = AI_SPECIAL_POWER_BASIC_SELF_BUFF
	End

	Geometry			= CYLINDER
	GeometryMajorRadius = 8.0
	GeometryHeight		= 25
	GeometryIsSmall		= Yes
	
	Shadow			= SHADOW_DECAL
	ShadowSizeX		= 19
	ShadowSizeY		= 19
	ShadowTexture	= ShadowI
End



;------------------------------------------------------------------------------

Edited by Wolvman, 25 June 2008 - 09:47 PM.


#38 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 25 June 2008 - 10:31 PM

eh smart guy :p
look what u did:

DefaultModelConditionState
			Model = RUTheoden_SKN
			Skeleton = RUTheoden_SKL
					   Texture = ARElsin
		End

the texture should have .TGA after it...
and it should be
DefaultModelConditionState
			Model = RUTheoden_SKN
			Skeleton = RUTheoden_SKL
			Texture = RUTheoden.tga	ARElsin.tga
		End

and on the mounted version you should add the Texture thing too.

if that doesn't work ill find out something else...
Ridder Geel

#39 Wolvman

Wolvman
  • Members
  • 71 posts
  • Location:Tennessee

Posted 26 June 2008 - 12:59 AM

Well I tried that way first and it didn't work, so then I tried a few other ways and that ARElsin thing was just the last one I tried. So that's the one on there right now. I'll try it again though just for the heck of it and let you know if it worked this time.

#40 Wolvman

Wolvman
  • Members
  • 71 posts
  • Location:Tennessee

Posted 26 June 2008 - 01:37 AM

Well, it still didn't work :p . So I need another plan.

Edited by Wolvman, 26 June 2008 - 01:37 AM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users