Jump to content


Photo

Problems with new Nazgul Horde


  • Please log in to reply
27 replies to this topic

#1 Ale2110

Ale2110
  • Members
  • 58 posts

Posted 13 October 2013 - 06:53 PM

Hi =) I wanna create a new horde of BlackRider starting from a couple of units. I created a Nazgul which can move:

- on foot

- on horse

- on a fellbeast

and a WitchKing which can move the same ways. Here's the Nazgul code:

ChildObject MyBlackRider KhamulMounted //NAZGUL ON FOOT [in mordorkhamulrider.ini]

	CommandSet			= MyTheNineCommandSet
	CommandPoints	=	10

;---from foot to horse

	Behavior = SpecialPowerModule ModuleTag_HorseToggleStarter                      
 		SpecialPowerTemplate		= SpecialAbilityToggleMountedFOH
 		UpdateModuleStartsAttack	= Yes
 		StartsPaused			= No
 	End

	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_HorseToggle
 		SpecialPowerTemplate    	= SpecialAbilityToggleMountedFOH
 		MountedTemplate			= MyBlackRiderOnHorse
 		SynchronizeTimerOnSpecialPower 	= SpecialAbilityBlackRiderMorgulBlade SpecialAbilityScreech
 		UnpackTime              	= 0
 		PreparationTime         	= 0			
 		PackTime                	= 0 			
 		OpacityTarget			= .0			
 		AwardXPForTriggering    	= 0
 		IgnoreFacingCheck		= Yes
	End

;---from foot to fellbeast

	Behavior = SpecialPowerModule ModuleTag_FellBeastToggleStarter                      
 		SpecialPowerTemplate		= SpecialAbilityToggleMountedFOFE
		UpdateModuleStartsAttack	= Yes
 		StartsPaused				= No
		;InitiateSound				= FellBeastVoiceMove
	End

	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_FellBeastToggle
 		SpecialPowerTemplate    = SpecialAbilityToggleMountedFOFE
 		MountedTemplate			= MyBlackRiderOnFellBeast
    SynchronizeTimerOnSpecialPower = SpecialAbilityCurseEnemy SpecialAbilityScreech
 		UnpackTime              = 0
 		PreparationTime         = 0			
 		PackTime                = 0 		
 		OpacityTarget			= .0		
 		AwardXPForTriggering    = 0
 		IgnoreFacingCheck		= Yes
		;TriggerSound			= FellBeastVoiceMove
	End
End 
ChildObject MyBlackRiderOnHorse MordorBlackRider //NAZGUL ON HORSE [in mordorblackrider.ini]

	CommandSet			= MyTheNineOnHorsesCommandSet
	CommandPoints	=	10

	;---------from horse to foot------------------------------------------------------------------------
 	Behavior = SpecialPowerModule ModuleTag_WKFootDismountStarter
 		SpecialPowerTemplate		= SpecialAbilityToggleMountedFOH
 		UpdateModuleStartsAttack	= Yes
 		StartsPaused			= No
 	End
	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_WKFootDismount
 		SpecialPowerTemplate    	= SpecialAbilityToggleMountedFOH
 		StartAbilityRange		= 50.0						
 		MountedTemplate			= MyBlackRider
 		SynchronizeTimerOnSpecialPower 	= SpecialAbilityBlackRiderMorgulBlade SpecialAbilityScreech
 		UnpackTime              	= 0
 		PreparationTime         	= 1  
 		PackTime                	= 0
 		OpacityTarget			= 1			
 		AwardXPForTriggering    	= 0
 		IgnoreFacingCheck		= Yes
	End

	;---------from horse to fellbeast------------------------------------------------------------------------
 	Behavior = SpecialPowerModule ModuleTag_WKFBMountStarter
 		SpecialPowerTemplate		= SpecialAbilityToggleMountedHFE
 		UpdateModuleStartsAttack	= Yes
 		StartsPaused			= No
	;	InitiateSound			= FellBeastVoiceMove
 	End
	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_WKFBMount
 		SpecialPowerTemplate    	= SpecialAbilityToggleMountedHFE
 		StartAbilityRange		= 50.0			
 		MountedTemplate			= MyBlackRiderOnFellBeast
 		SynchronizeTimerOnSpecialPower 	= SpecialAbilityBlackRiderMorgulBlade SpecialAbilityScreech
 		UnpackTime              	= 0
 		PreparationTime         	= 1  
 		PackTime                	= 0
 		OpacityTarget			= 1			
 		AwardXPForTriggering    	= 0
 		IgnoreFacingCheck		= Yes
	End
End 
ChildObject MyBlackRiderOnFellBeast MordorFellBeastInterface //NAZGUL ON FELLBEAST [in fellbeast.ini]
 
    CommandSet			= MyTheNineOnFellBeastsCommandSet
	CommandPoints	=	10
	
	;---------from fellbeast to foot------------------------------------------------------------------------
 	Behavior = SpecialPowerModule ModuleTag_DismountStarter
 		SpecialPowerTemplate		= SpecialAbilityToggleMountedFromFellBeastFOFE
 		UpdateModuleStartsAttack	= Yes
 		StartsPaused				= No
		InitiateSound				= FellBeastVoiceMove
 	End
	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_Dismount
 		SpecialPowerTemplate    = SpecialAbilityToggleMountedFromFellBeastFOFE
 		StartAbilityRange		= 50.0			
 		MountedTemplate			= MyBlackRider
 		SynchronizeTimerOnSpecialPower = SpecialAbilityCurseEnemy SpecialAbilityScreech
 		UnpackTime              = 0
 		PreparationTime         = 1  
 		PackTime                = 0
 		OpacityTarget			= 1			
 		AwardXPForTriggering    = 0
 		IgnoreFacingCheck		= Yes
	End	

	;---------from fellbeast to horse------------------------------------------------------------------------
 	Behavior = SpecialPowerModule ModuleTag_DismountHorseStarter
 		SpecialPowerTemplate		= SpecialAbilityToggleMountedFromFellBeastHFE
 		UpdateModuleStartsAttack	= Yes
 		StartsPaused				= No
		InitiateSound				= FellBeastVoiceMove
 	End
	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_DismountHorse
 		SpecialPowerTemplate    = SpecialAbilityToggleMountedFromFellBeastHFE
 		StartAbilityRange		= 50.0			
 		MountedTemplate			= MyBlackRiderOnHorse
 		SynchronizeTimerOnSpecialPower = SpecialAbilityCurseEnemy SpecialAbilityScreech
 		UnpackTime              = 0
 		PreparationTime         = 1  
 		PackTime                = 0
 		OpacityTarget			= 1			
 		AwardXPForTriggering    = 0
 		IgnoreFacingCheck		= Yes
	End	
End

... and the WitchKing code:

ChildObject MyWitchKing MordorWitchKing //WITCHKING ON FOOT [in witchking.ini]

	CommandSet			= MyTheNineCommandSet
	CommandPoints	=	20

;--- from foot to horse

	Behavior = SpecialPowerModule ModuleTag_HorseToggleStarter                      
 		SpecialPowerTemplate		= SpecialAbilityToggleMountedFOH
 		UpdateModuleStartsAttack	= Yes
 		StartsPaused			= No
 	End

	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_HorseToggle
 		SpecialPowerTemplate    	= SpecialAbilityToggleMountedFOH
 		MountedTemplate			= MyWKOnHorse
 		SynchronizeTimerOnSpecialPower 	= SpecialAbilityBlackRiderMorgulBlade SpecialAbilityScreech
 		UnpackTime              	= 0
 		PreparationTime         	= 0			
 		PackTime                	= 0 			
 		OpacityTarget			= .0			
 		AwardXPForTriggering    	= 0
 		IgnoreFacingCheck		= Yes
	End

;--- from foot to fellbeast

	Behavior = SpecialPowerModule ModuleTag_FellBeastToggleStarter                      
 		SpecialPowerTemplate		= SpecialAbilityToggleMountedFOFE
		UpdateModuleStartsAttack	= Yes
 		StartsPaused				= No
	End

	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_FellBeastToggle
 		SpecialPowerTemplate    = SpecialAbilityToggleMountedFOFE
 		MountedTemplate			= MyWitchKingOnFellBeast
    SynchronizeTimerOnSpecialPower = SpecialAbilityCurseEnemy SpecialAbilityScreech
 		UnpackTime              = 0;2000
 		PreparationTime         = 0			
 		PackTime                = 0 		
 		OpacityTarget			= .0		
 		AwardXPForTriggering    = 0
 		IgnoreFacingCheck		= Yes
	End

End
ChildObject MyWKOnHorse MordorBlackRider //WITCHKING ON HORSE [in mordorblackrider.ini]

	 CommandSet			= MyTheNineOnHorsesCommandSet
	CommandPoints	=	10

	;---------from horse to foot------------------------------------------------------------------------
 	Behavior = SpecialPowerModule ModuleTag_WKFootDismountStarter
 		SpecialPowerTemplate		= SpecialAbilityToggleMountedFOH
 		UpdateModuleStartsAttack	= Yes
 		StartsPaused			= No
 	End
	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_WKFootDismount
 		SpecialPowerTemplate    	= SpecialAbilityToggleMountedFOH
 		StartAbilityRange		= 50.0			
 		MountedTemplate			= MyWitchKing
 		SynchronizeTimerOnSpecialPower 	= SpecialAbilityBlackRiderMorgulBlade SpecialAbilityScreech
 		UnpackTime              	= 0
 		PreparationTime         	= 1  
 		PackTime                	= 0
 		OpacityTarget			= 1						; How see-thru to be at peak of change
 		AwardXPForTriggering    	= 0
 		IgnoreFacingCheck		= Yes
	End

	

	;---------from horse to fellbeast------------------------------------------------------------------------
 	Behavior = SpecialPowerModule ModuleTag_WKFBMountStarter
 		SpecialPowerTemplate		= SpecialAbilityToggleMountedHFE
 		UpdateModuleStartsAttack	= Yes
 		StartsPaused			= No
 	End
	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_WKFBMount
 		SpecialPowerTemplate    	= SpecialAbilityToggleMountedHFE
 		StartAbilityRange		= 50.0			
 		MountedTemplate			= MyWitchKingOnFellBeast
 		SynchronizeTimerOnSpecialPower 	= SpecialAbilityBlackRiderMorgulBlade SpecialAbilityScreech
 		UnpackTime              	= 0
 		PreparationTime         	= 1  
 		PackTime                	= 0
 		OpacityTarget			= 1			
 		AwardXPForTriggering    	= 0
 		IgnoreFacingCheck		= Yes
	End
End
ChildObject MyWitchKingOnFellBeast MordorFellBeastInterface //WITCHKING ON FELLBEAST [in fellbeast.ini]
 
    CommandSet			= MyTheNineOnFellBeastsCommandSet
	CommandPoints	=	20
	
	;---------from fellbeast to foot------------------------------------------------------------------------
 	Behavior = SpecialPowerModule ModuleTag_DismountStarter
 		SpecialPowerTemplate		= SpecialAbilityToggleMountedFromFellBeastFOFE
 		UpdateModuleStartsAttack	= Yes
 		StartsPaused				= No
		InitiateSound				= FellBeastVoiceMove
 	End
	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_Dismount
 		SpecialPowerTemplate    = SpecialAbilityToggleMountedFromFellBeastFOFE
 		StartAbilityRange		= 50.0			
 		MountedTemplate			= MyWitchKing
 		SynchronizeTimerOnSpecialPower = SpecialAbilityCurseEnemy SpecialAbilityScreech
 		UnpackTime              = 0
 		PreparationTime         = 1  
 		PackTime                = 0
 		OpacityTarget			= 1			
 		AwardXPForTriggering    = 0
 		IgnoreFacingCheck		= Yes
	End	

	;---------from fellbeast to horse------------------------------------------------------------------------
 	Behavior = SpecialPowerModule ModuleTag_DismountHorseStarter
 		SpecialPowerTemplate		= SpecialAbilityToggleMountedFromFellBeastHFE
 		UpdateModuleStartsAttack	= Yes
 		StartsPaused				= No
		InitiateSound				= FellBeastVoiceMove
 	End
	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_DismountHorse
 		SpecialPowerTemplate    = SpecialAbilityToggleMountedFromFellBeastHFE
 		StartAbilityRange		= 50.0			
 		MountedTemplate			= MyWKOnHorse
 		SynchronizeTimerOnSpecialPower = SpecialAbilityCurseEnemy SpecialAbilityScreech
 		UnpackTime              = 0
 		PreparationTime         = 1  
 		PackTime                = 0
 		OpacityTarget			= 1			
 		AwardXPForTriggering    = 0
 		IgnoreFacingCheck		= Yes
	End
	
	Behavior = ModelConditionUpgrade ModuleTag_MakeUsAWitchKing
		TriggeredBy			= Upgrade_MyFaction
		AddConditionFlags	= RIDER2
		Permanent			= Yes
	End
	
End

... the specialpowers in specialpower.ini ...

SpecialPower SpecialAbilityToggleMountedFOH
	Enum			= SPECIAL_TOGGLE_MOUNTED	
	ReloadTime        = 2000
End

SpecialPower SpecialAbilityToggleMountedFOFE
	Enum			= SPECIAL_TOGGLE_MOUNTED	
	ReloadTime        = 2000
End

SpecialPower SpecialAbilityToggleMountedHFE
	Enum			= SPECIAL_TOGGLE_MOUNTED					ReloadTime        = 2000 ;;,;; 1000
End

SpecialPower SpecialAbilityToggleMountedFromFellBeastFOFE
	Enum					= SPECIAL_TOGGLE_MOUNTED
	ReloadTime				= 1000
	Flags					= NO_FORBIDDEN_OBJECTS
	ForbiddenObjectFilter	= ANY +STRUCTURE
	ForbiddenObjectRange	= 5
End

SpecialPower SpecialAbilityToggleMountedFromFellBeastHFE
	Enum					= SPECIAL_TOGGLE_MOUNTED
	ReloadTime				= 1000
	Flags					= NO_FORBIDDEN_OBJECTS
	ForbiddenObjectFilter	= ANY +STRUCTURE
	ForbiddenObjectRange	= 5
End

... buttons in commandbutton.ini ...

CommandButton Command_MyMountFOH //from foot on horse
  Command               = SPECIAL_POWER
  SpecialPower          = SpecialAbilityToggleMountedFOH
  TextLabel             = CONTROLBAR:TheodenMount
  Options				= TOGGLE_IMAGE_ON_WEAPONSET ON_GROUND_ONLY OK_FOR_MULTI_EXECUTE
  FlagsUsedForToggle	= MOUNTED
  ButtonImage           = HIBlackRiderMount HIBlackRiderMount
  ButtonBorderType      = ACTION 
  DescriptLabel         = CONTROLBAR:GenericMountTooltip
  InPalantir            = Yes  
  UnitSpecificSound     = HorseWhinnyForMountButton	UnmountButtonFoley
End

CommandButton Command_MyMountFOFE //from foot to fellbeast
	Command			= SPECIAL_POWER
	SpecialPower		= SpecialAbilityToggleMountedFOFE
	TextLabel		= CONTROLBAR:TheodenMount
	Options			= TOGGLE_IMAGE_ON_WEAPONSET	ON_GROUND_ONLY		
	FlagsUsedForToggle	= MOUNTED						
	ButtonImage		= HSWitchKingMountDismount HSWitchKingMountDismount
	ButtonBorderType	= ACTION 
	DescriptLabel		= CONTROLBAR:GenericMountTooltip
	InPalantir		= Yes
End

CommandButton Command_MyMountHFE //from horse to fellbeast
	Command			= SPECIAL_POWER
	SpecialPower		= SpecialAbilityToggleMountedHFE
	TextLabel		= CONTROLBAR:TheodenMount
	Options			= TOGGLE_IMAGE_ON_WEAPONSET	ON_GROUND_ONLY		
	FlagsUsedForToggle	= MOUNTED						
	ButtonImage		= HSWitchKingMountDismount HSWitchKingMountDismount
	ButtonBorderType	= ACTION 
	DescriptLabel		= CONTROLBAR:GenericMountTooltip
	InPalantir		= Yes
End

CommandButton Command_MyDismountFOH //from horse to foot
	Command			= SPECIAL_POWER
	SpecialPower		= SpecialAbilityToggleMountedFOH
	TextLabel		= CONTROLBAR:TheodenMount
	Options			= TOGGLE_IMAGE_ON_WEAPONSET ON_GROUND_ONLY OK_FOR_MULTI_EXECUTE		
	FlagsUsedForToggle	= MOUNTED							ButtonImage		= HIBlackRiderMount HIBlackRiderMount
	ButtonBorderType	= ACTION 
	CursorName              = EvilAbilityObj
	InvalidCursorName       = GenericInvalid 
	DescriptLabel		= CONTROLBAR:FellBeastMountTooltip
	InPalantir		= Yes
End

CommandButton Command_MyDismountFOFE // from fellbeast to foot
	Command			= SPECIAL_POWER
	SpecialPower		= SpecialAbilityToggleMountedFromFellBeastFOFE
	TextLabel		= CONTROLBAR:TheodenMount
	Options			= NEED_TARGET_POS TOGGLE_IMAGE_ON_WEAPONSET	ON_GROUND_ONLY		
	FlagsUsedForToggle	= MOUNTED						
	ButtonImage		= HSWitchKingMountDismount HSWitchKingMountDismount
	ButtonBorderType	= ACTION 
	CursorName              = EvilAbilityObj
	InvalidCursorName       = GenericInvalid 
	DescriptLabel		= CONTROLBAR:FellBeastMountTooltip
	InPalantir		= Yes
End

CommandButton Command_MyDismountHFE // from fellbeast to horse
	Command			= SPECIAL_POWER
	SpecialPower		= SpecialAbilityToggleMountedFromFellBeastHFE
	TextLabel		= CONTROLBAR:TheodenMount
	Options			= NEED_TARGET_POS TOGGLE_IMAGE_ON_WEAPONSET	ON_GROUND_ONLY		
	FlagsUsedForToggle	= MOUNTED						
	ButtonImage		= HSWitchKingMountDismount HSWitchKingMountDismount
	ButtonBorderType	= ACTION 
	CursorName              = EvilAbilityObj
	InvalidCursorName       = GenericInvalid 
	DescriptLabel		= CONTROLBAR:FellBeastMountTooltip
	InPalantir		= Yes
End

... and the commandset in commandset.ini:

CommandSet MyTheNineCommandSet //objects on foot
	1 	= Command_ToggleStance
	2	= Command_MyMountFOH
	3 	= Command_MyMountFOFE
	4 	= Command_WitchKingDreadVisage
	5 	= Command_SpecialAbilityScreechWitchKing
	6 	= Command_HourOfTheWitchKing
	12 	= Command_CaptureBuilding	
	13 	= Command_AttackMove
	14 	= Command_Stop
	16  = Command_SetStanceBattle
	17  = Command_SetStanceAggressive
	18  = Command_SetStanceHoldGround
End

CommandSet MyTheNineOnHorsesCommandSet //object on horse
	1 	= Command_ToggleStance
	2	= Command_MyDismountFOH
	3 	= Command_MyMountHFE
	4 	= Command_WitchKingDreadVisage
	5 	= Command_SpecialAbilityScreechWitchKing
	6 	= Command_HourOfTheWitchKing
	12 	= Command_CaptureBuilding	
	13 	= Command_AttackMove
	14 	= Command_Stop
	16  = Command_SetStanceBattle
	17  = Command_SetStanceAggressive
	18  = Command_SetStanceHoldGround
End

CommandSet MyTheNineOnFellBeastsCommandSet //object on fellbeast
	1 	= Command_ToggleStance
	2 	= Command_MyDismountFOFE
	3 	= Command_MyDismountHFE	
	4 	= Command_WitchKingDreadVisage
	5 	= Command_SpecialAbilityScreechWitchKing
	6 	= Command_HourOfTheWitchKingFellbeast ;;,;; Command_HourOfTheWitchKing
	13 	= Command_AttackMove
	14 	= Command_Stop
	16  = Command_SetStanceBattle
	17  = Command_SetStanceAggressive
	18  = Command_SetStanceHoldGround
End

 For the moment I didn't add other buttons, I'm looking at the mount/dismount buttons. The single objects works well, both Nazgul and WitchKing can change the aspect:

 

- FOOT -> HORSE

- FOOT -> FELLBEAST

- HORSE -> FELLBEAST

- HORSE -> FOOT

- FELLBEAST -> FOOT

- FELLBEAST -> HORSE

 

The WitchKing on horse has the same aspect of a Nazgul on horse (I'd like to add it his crown, but I'm not able at the moment =( the Angmar WitchKing is busy to be another hero of my faction, so I can't use it =) ). The point is: I wanna create a horde (I'd like that my horde has the same aspect and movements of the mordorblackrider horde). WitchKing must works like the banner carrier unity of the horde, when a Nazgul dies, after a while it's created from the WitchKing. The horde must have the possibility to go on foot, on horse and on fellbeasts (the last case maybe a little chaotic, but I wanna try, hoping in a great result =) ). Can someone help me? I read some tutorials, but the results are disasters =(



#2 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 14 October 2013 - 08:45 AM

Did you follow the tutorial on creating mounting/dismounting hordes? :)


Ridder Geel

#3 Ale2110

Ale2110
  • Members
  • 58 posts

Posted 14 October 2013 - 09:01 AM

Yes, but I stopped 'cause I think the tutorial works only for mount/dismount (my horde has different states of mount/dismount 'cause it can mount on horse and on fellbeasts) and sincerely I have no idea about many parameters for the movement of the horde =( for example I created a childobject mordorblackriderhorde using my new objects, but when the horde is created, the objects are all in the same point, compressed at the center of the horde =(


Edited by Ale2110, 14 October 2013 - 09:03 AM.


#4 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 15 October 2013 - 06:27 PM

One needs to mount into another object, so thats a different kind of mount, its more or less an ability... which should be quite interesting to see... Since I have no idea if that would work :p

Maybe giving them different user states and such might help though :)


Ridder Geel

#5 Ale2110

Ale2110
  • Members
  • 58 posts

Posted 15 October 2013 - 07:13 PM

After many tests I created these horde:


ChildObject MyTheNineOnHorse MyBlackRiderOnHorse

	CommandSet			= MyTheNineOnHorsesCommandSet
	CommandPoints	=	100

	;---------DISMOUNT------------------------------------------------------------------------
 	Behavior = SpecialPowerModule ModuleTag_WKFootDismountStarter
 		SpecialPowerTemplate		= SpecialAbilityToggleMountedFOH
 		UpdateModuleStartsAttack	= Yes
 		StartsPaused			= No
 	End
	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_WKFootDismount
 		SpecialPowerTemplate    	= SpecialAbilityToggleMountedFOH
 		StartAbilityRange		= 50.0						; pretty small so we are forced to the right place.
 		MountedTemplate			= MyTheNine ; <= Horde on foot
 		SynchronizeTimerOnSpecialPower 	= SpecialAbilityBlackRiderMorgulBlade SpecialAbilityScreech
 		UnpackTime              	= 0
 		PreparationTime         	= 1  
; 		PersistentPrepTime      	= 250
 		PackTime                	= 0
 		OpacityTarget			= 1						; How see-thru to be at peak of change
 		AwardXPForTriggering    	= 0
 		IgnoreFacingCheck		= Yes
	End

	Behavior = HorseHordeContain ModuleTag_HordeContain
	FrontAngle = 270
		FlankedDelay 		= 2000
		ObjectStatusOfContained = 
		InitialPayload 		= MyBlackRiderOnHorse  8
		Slots 			= 8
		PassengerFilter 	= NONE +CAVALRY +MyBlackRiderOnHorse
		ShowPips 		= No
		RandomOffset 		= X:1 y:1
		MeleeBehavior 		= Amoeba
		End
		
		ThisFormationIsTheMainFormation = Yes	

		; Banner Carrier info		
		BannerCarriersAllowed	= MyWKOnHorse										
		BannerCarrierPosition	= UnitType:MyWKOnHorse	Pos:X:70.0 Y:0.0	

		RankInfo	= RankNumber:1 UnitType:MyBlackRiderOnHorse Position:X:10 Y:-40	Position:X:-16.18 Y:11.76	Position:X:6.18 Y:-19.02	Position:X:6.18 Y:19.02		Position:X:-16.18 Y:-11.76	Position:X:10.54 Y:38.27 Position:X:-16.54 Y:32.27 Position:X:-16.54 Y:-32.27		

		RanksToReleaseWhenAttacking = 1 
		
		MeleeAttackLeashDistance 	= 50 ;;,;; 1   	//How far the hordes can move from the center of the horde when melee attacking.				  
		BackUpMinDelayTime		= 1	//The minimum amount of	time to	delay before backing up
		BackUpMaxDelayTime		= 3000	//The maximum amount of	time to	delay before backing up
		BackUpMinDistance		= 1	
		BackUpMaxDistance		= 3	
		BackupPercentage		= 80%	
	End

	TransportSlotCount			= TRANSPORTSLOTCOUNT_SMALL_HORDE
	KindOf					= SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAVALRY HORDE MELEE_HORDE LARGE_RECTANGLE_PATHFIND

End

... which when I click on Dismount button, would become this:

ChildObject MyTheNine MyBlackRider

	CommandSet			= MyTheNineOnHorsesCommandSet
	CommandPoints	=	100

	Behavior = SpecialPowerModule ModuleTag_HorseToggleStarter                      
 		SpecialPowerTemplate		= SpecialAbilityToggleMountedFOH
 		UpdateModuleStartsAttack	= Yes
 		StartsPaused			= No
 	End

	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_HorseToggle
 		SpecialPowerTemplate    	= SpecialAbilityToggleMountedFOH
 		MountedTemplate			= MyTheNineOnHorse
 		SynchronizeTimerOnSpecialPower 	= SpecialAbilityBlackRiderMorgulBlade SpecialAbilityScreech
 		UnpackTime              	= 0;2000
 		PreparationTime         	= 0			; none, cause we hop onto our mount in no time at all :)
 		PackTime                	= 0 			; none, cause we hop onto our mount in no time at all :)
 		OpacityTarget			= .0			; How see-thru to be at peak of change
 		AwardXPForTriggering    	= 0
 		IgnoreFacingCheck		= Yes
	End

	Behavior = HorseHordeContain ModuleTag_HordeContain
	FrontAngle = 270
		FlankedDelay 		= 2000
		ObjectStatusOfContained = 
		InitialPayload 		= MyBlackRider  8
		Slots 			= 8
		PassengerFilter 	= NONE +INFANTRY +MyBlackRider
		ShowPips 		= No
		RandomOffset 		= X:1 y:1
		MeleeBehavior 		= Amoeba
		End
		
		ThisFormationIsTheMainFormation = Yes	

		; Banner Carrier info		
		BannerCarriersAllowed	= MyWitchKing										; types of units that are allowed as banner carriers
		BannerCarrierPosition	= UnitType:MyWitchKing	Pos:X:70.0 Y:0.0	

		RankInfo	= RankNumber:1 UnitType:MyBlackRider Position:X:10 Y:-40	Position:X:-16.18 Y:11.76	Position:X:6.18 Y:-19.02	Position:X:6.18 Y:19.02		Position:X:-16.18 Y:-11.76	Position:X:10.54 Y:38.27 Position:X:-16.54 Y:32.27 Position:X:-16.54 Y:-32.27		

		RanksToReleaseWhenAttacking = 1 
		
		MeleeAttackLeashDistance 	= 50 ;;,;; 1   	//How far the hordes can move from the center of the horde when melee attacking.				  
		BackUpMinDelayTime		= 1	//The minimum amount of	time to	delay before backing up
		BackUpMaxDelayTime		= 3000	//The maximum amount of	time to	delay before backing up
		BackUpMinDistance		= 1	//The minimum number of	cells to backup
		BackUpMaxDistance		= 3	//The maximum number of	cells to backup
		BackupPercentage		= 80%	//The amount of	chance that a unit will	back up.
	End

	TransportSlotCount			= TRANSPORTSLOTCOUNT_SMALL_HORDE
	KindOf = SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT INFANTRY HORDE MELEE_HORDE NOTIFY_OF_PREATTACK ARMY_SUMMARY LARGE_RECTANGLE_PATHFIND

End

What happens:

 

1) HORSE -> FOOT : A horde of Nazgul appears, but only the "banner carrier" (that's a Nazgul and not a WitchKing like I want =( ) moves. Other units of the horde don't move. The Nazgul seem like separated heroes and not a horde.

 

2) FOOT -> HORSE: the horde of Black Rider appears, but all the Nazgul on foot (instead of disappearing) die.



#6 damianbt88

damianbt88

    * *

  • Members
  • 110 posts
  • Location:AshKum
  • Projects:AMSG
  •  Ctrl+C Ctrl+V Master

Posted 18 October 2013 - 11:40 AM

"but only the "banner carrier" (that's a Nazgul and not a WitchKing like I want =( ) moves."
you can try to change InitialPayload settings:

InitialPayload = MyWitchKing 1 MyBlackRiderOnHorse 7
Slots = 8

as alternative:

InitialPayload = MyWitchKing 1
InitialPayload = MyBlackRiderOnHorse 7
Slots = 8

or add your MyWitchKing to the RankNumber:1 manually (instead of using him as a banner carrier)

RankInfo = RankNumber:1 UnitType:MyWitchKing Position:X:10 Y:-40
RankInfo = RankNumber:2 UnitType:MyBlackRiderOnHorse Position:X:-16.18 Y:11.76
...

"Other units of the horde don't move."
just add 2(3) additional RankNumbers 

RankNumber:1, RankNumber:2 RankNumber:3...
RanksToReleaseWhenAttacking = 1 2 3...
"The Nazgul seem like separated heroes and not a horde."

"the horde of Black Rider appears, but all the Nazgul on foot (instead of disappearing) die."

create 3(?) different hordes and use "replaceself" code



ak-ulub laam gûkrûrz-ulub lûp-al


#7 Ale2110

Ale2110
  • Members
  • 58 posts

Posted 19 October 2013 - 08:09 AM

I wouldn't know, I took a look at other hordes, but the banner carrier is threated as a special unit. For example, in Gondor horde:

Behavior = HordeContain ModuleTag_HordeContain
		FrontAngle = 270
		FlankedDelay = 2000
		ObjectStatusOfContained = 
		InitialPayload = GondorFighter GOOD_MEN_GIANT_HORDE_SIZE ;<===
		Slots = 15
		PassengerFilter	= NONE +INFANTRY ;<===
		ShowPips = No
		ThisFormationIsTheMainFormation = Yes	
		RandomOffset=X:0 Y:0
		MeleeBehavior = Amoeba
		End

		// Banner Carrier info		
		BannerCarriersAllowed	= GondorInfantryBanner										
		BannerCarrierPosition	= UnitType:GondorFighter	Pos:X:70.0 Y:0.0		
		
		RankInfo = RankNumber:1 UnitType:GondorFighter Position:X:50 Y:0			Position:X:50 Y:20				Position:X:50 Y:-20				Position:X:50 Y:40				Position:X:50 Y:-40 
		RankInfo = RankNumber:2 UnitType:GondorFighter Position:X:30 Y:0 Leader 1 0	Position:X:30 Y:20 Leader 1 1	Position:X:30 Y:-20 Leader 1 2	Position:X:30 Y:40 Leader 1 3	Position:X:30 Y:-40 Leader 1 4
		RankInfo = RankNumber:3 UnitType:GondorFighter Position:X:10 Y:0 Leader 2 0	Position:X:10 Y:20 Leader 2 1	Position:X:10 Y:-20 Leader 2 2	Position:X:10 Y:40 Leader 2 3	Position:X:10 Y:-40 Leader 2 4
		
		RanksToReleaseWhenAttacking = 1 2 3

		AlternateFormation = GondorFighterHordeBlock
		MeleeAttackLeashDistance = 50				  
		BackUpMinDelayTime		 = 1	
		BackUpMaxDelayTime		 = 3000	
		BackUpMinDistance		 = 1	
		BackUpMaxDistance		 = 3	
		BackupPercentage		 = 80%	
End

the banner carrier isn't in Initial Payload part. I think I must put a special part of code in my Witch King object to use it as a banner carrier, at the moment I don't know how this code is like. =) I noticed that in KindOf part the banner carrier of Gondor horde there's the word BANNER, but I'm not sure this is the entire solution =) I'll continue to make tests and I'll see, when I'll be able to make progresses I'll post them here =)



#8 Ale2110

Ale2110
  • Members
  • 58 posts

Posted 19 October 2013 - 10:33 AM

Ok, now the hordes on foot is completed =) adding the horde at experiencelevel.ini the banner now seems a WitchKing =)

ExperienceLevel	MyTheNineHordeLevel10
	TargetNames					=	MyTheNineOnFoot MyTheNineOnHorses MyTheNineOnFellBeasts
	RequiredExperience				=	EXPERIENCE_REQUIRED_MINI_HORDE_10
	ExperienceAward					=	EXPERIENCE_AWARD_MINI_HORDE_10
	AttributeModifiers				=	MiniHordeBonusRank10
	InformUpdateModule				=	Yes
	Upgrades					= 	Upgrade_MiniHordeLvl10
	Rank						=	10
	LevelUpFx					=	FX:GandalfLevelUp1FX
	LevelUpTintColor				=	R:255 G:255	B:255
	LevelUpTintPreColorTime				=	500	
	LevelUpTintPostColorTime			=	3000
	LevelUpTintSustainColorTime			=	500	
	EmotionType						=	CHEER

	SelectionDecal
		Texture					=	decal_I_level4
		Texture2				=	decal_evil_CO
		Style					=	SHADOW_MERGE_DECAL
		OpacityMin				=	80%
		OpacityMax				=	100%
		MinRadius			  	=	HORDE_DECAL_MIN_RADIUS
		MaxRadius				=	200
		MaxSelectedUnits	  		=	40
	End	
END	

Now I'm trying to solve other problems, like the death of the Nazgul and the banner of the Nine on horse that seems a Nazgul on foot. What do you mean with "replaceself" code? =)


Edited by Ale2110, 19 October 2013 - 10:33 AM.


#9 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 19 October 2013 - 11:53 AM

I guess he means this kind of code:

Behavior = ReplaceSelfUpgrade ModuleTag_Replace_With_Hub
	ReplaceWith = GondorCastleWallHub
	TriggeredBy = Upgrade_MenWallHub
	ConflictsWith = Upgrade_MenWallRegularGate Upgrade_MenWallPosternGate Upgrade_MenWallTower Upgrade_MenWallTrebuchet
End

It would replace one horde with another, but I'm not sure if that would be the best way to do it, but eh u can always try :p


Ridder Geel

#10 Ale2110

Ale2110
  • Members
  • 58 posts

Posted 19 October 2013 - 02:22 PM

But I already had the behaviors to change the units in my horde object, I use specialpowersmodules (for example):

;///FOOT ---> HORSE

	Behavior = SpecialPowerModule ModuleTag_HorseToggleStarter                      
 		SpecialPowerTemplate		= SpecialAbilityToggleMountedFOH
 		UpdateModuleStartsAttack	= Yes
 		StartsPaused			= No
 	End

	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_HorseToggle
 		SpecialPowerTemplate    	= SpecialAbilityToggleMountedFOH
 		MountedTemplate			= MyTheNineOnHorses
 		SynchronizeTimerOnSpecialPower 	= SpecialAbilityBlackRiderMorgulBlade SpecialAbilityScreech
 		UnpackTime              	= 0;2000
 		PreparationTime         	= 0			; none, cause we hop onto our mount in no time at all :)
 		PackTime                	= 0 			; none, cause we hop onto our mount in no time at all :)
 		OpacityTarget			= .0			; How see-thru to be at peak of change
 		AwardXPForTriggering    	= 0
 		IgnoreFacingCheck		= Yes
	End

If I use replaceself, doesn't it conflict with specialpowers? Or I misunderstood? =(



#11 damianbt88

damianbt88

    * *

  • Members
  • 110 posts
  • Location:AshKum
  • Projects:AMSG
  •  Ctrl+C Ctrl+V Master

Posted 19 October 2013 - 04:22 PM

i meant use it instead of mount/dismount ability

theoretically it would hel[p you to solve 2 problems
- "but all the Nazgul on foot (instead of disappearing) die." ...hmm or maybe not
-" The Nazgul seem like separated heroes and not a horde."

"but all the Nazgul on foot (instead of disappearing) die."
question is why does it refer to AnimationState = DYING (and is that really so?)

add to your HorseToggleStarter code this

SetModelCondition = ModelConditionState:USER_X
;SetModelConditionTime = 3000

and to the ; *** ART Parameters ***:

ModelConditionState = MOUNTED USER_X
model+animation

...



ak-ulub laam gûkrûrz-ulub lûp-al


#12 Ale2110

Ale2110
  • Members
  • 58 posts

Posted 20 October 2013 - 10:06 AM

Ok, I'll try to create another childobject horde and I'll try to apply this changement =) but I noticed that many modders had problem with horde created using flying object like the eagles. I created a Fellbeast horde, but for some strange reasons the Fellbeasts appear in a point at the bottom of the map, on the left ... Out of the map! o.O when I select them, they don't seem like a horde, but single objects (when I dismount a Fellbeast, a single Nazgul on foot appears). =(

ChildObject MyTheNineOnFellBeasts MordorBlackRiderHorde

	CommandSet		= MyTheNineOnFellBeastsCommandSet
	BuildCost			= 10000
	BuildTime			= 60
	CommandPoints 			= 100

	KindOf = HERO PRELOAD SELECTABLE CAN_CAST_REFLECTIONS SCORE NO_FREEWILL_ENTER SCARY MONSTER CANNOT_RETALIATE ARMY_SUMMARY HORDE

;///horde

	Behavior = HordeContain ModuleTag_HordeContain
	FrontAngle = 270
		FlankedDelay 		= 2000
		ObjectStatusOfContained = 
		InitialPayload 		= MyBlackRiderOnFellBeast  8
		Slots 			= 8
		PassengerFilter 	= NONE +MyBlackRiderOnFellBeast
		ShowPips 		= No
		RandomOffset 		= X:1 y:1
		MeleeBehavior 		= Amoeba
		End
		
		ThisFormationIsTheMainFormation = Yes

		; Banner Carrier info		
;		BannerCarriersAllowed	= ArdaWitchKingOnFellBeast									
;		BannerCarrierPosition	= UnitType:ArdaWitchKingOnFellBeast	Pos:X:80.0 Y:0.0		
		
		RankInfo	= RankNumber:1 UnitType:MyBlackRiderOnFellBeast Position:X:-50 Y:-60 Position:X:-50 Y:-20 Position:X:-50 Y:20 Position:X:-50 Y:60
		RankInfo	= RankNumber:2 UnitType:MyBlackRiderOnFellBeast Position:X:50 Y:-60 Position:X:50 Y:-20 Position:X:50 Y:20 Position:X:50 Y:60	
		
		RanksToReleaseWhenAttacking = 1 2
		
		MeleeAttackLeashDistance 	= 50 ;;,;; 1   	//How far the hordes can move from the center of the horde when melee attacking.				  
		BackUpMinDelayTime		= 1	
		BackUpMaxDelayTime		= 3000	
		BackUpMinDistance		= 1	
		BackUpMaxDistance		= 3	
		BackupPercentage		= 80%	
	End

;---MOUNT

 	Behavior = SpecialPowerModule ModuleTag_DismountStarter
 		SpecialPowerTemplate		= SpecialAbilityToggleMountedFromFellBeastFOFE
 		UpdateModuleStartsAttack	= Yes
 		StartsPaused				= No
		InitiateSound				= FellBeastVoiceMove
 	End
	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_DismountFB
 		SpecialPowerTemplate    = SpecialAbilityToggleMountedFromFellBeastFOFE
 		StartAbilityRange		= 50.0									; pretty small so we are forced to the right place.
 		MountedTemplate			= MyTheNineOnFoot
 		SynchronizeTimerOnSpecialPower = SpecialAbilityCurseEnemy SpecialAbilityScreech
 		UnpackTime              = 0
 		PreparationTime         = 1  
; 		PersistentPrepTime      = 250
 		PackTime                = 0
 		OpacityTarget			= 1										; How see-thru to be at peak of change
 		AwardXPForTriggering    = 0
 		IgnoreFacingCheck		= Yes
	End	


 	Behavior = SpecialPowerModule ModuleTag_DismountHorseStarter
 		SpecialPowerTemplate		= SpecialAbilityToggleMountedFromFellBeastHFE
 		UpdateModuleStartsAttack	= Yes
 		StartsPaused				= No
		InitiateSound				= FellBeastVoiceMove
 	End
	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_DismountHorse
 		SpecialPowerTemplate    = SpecialAbilityToggleMountedFromFellBeastHFE
 		StartAbilityRange		= 50.0									; pretty small so we are forced to the right place.
 		MountedTemplate			= MyTheNineOnHorses
 		SynchronizeTimerOnSpecialPower = SpecialAbilityCurseEnemy SpecialAbilityScreech
 		UnpackTime              = 0
 		PreparationTime         = 1  
; 		PersistentPrepTime      = 250
 		PackTime                = 0
 		OpacityTarget			= 1										
 		AwardXPForTriggering    = 0
 		IgnoreFacingCheck		= Yes
	End	

End

PS: where's the part of code about the Select All Heroes button? Doing this horde I noticed that my faction hasn't it, I'd like to use the Men button =)



#13 damianbt88

damianbt88

    * *

  • Members
  • 110 posts
  • Location:AshKum
  • Projects:AMSG
  •  Ctrl+C Ctrl+V Master

Posted 20 October 2013 - 03:29 PM

"the Fellbeasts appear in a point at the bottom of the map, on the left ..."
they appear there when you summon them from the castle or when you press toggle button?
anyway try this

Behavior = RespawnUpdate ModuleTag_RespawnUpdate
DeathAnim = DYING
;DeathFX = FX_SarumanDieToRespawn ;FXList to play when killed-to-respawn
;DeathAnimationTime = 5500 ;1133 ;How long DeathAnim will take.
InitialSpawnFX = FX_NazgulInitialSpawn
RespawnFX = FX_NazgulRespawn ;FXList to play when respawning.
;RespawnAnim = LEVELED ;Animation to play when respawning.
;RespawnAnimationTime = 2000 ;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 = HINazgul_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:2250 Time:120000 Health:100% ;DEFAULT VALUES
End

"they don't seem like a horde, but single objects"
you cannot create a horde which contain "hero" type object.
try to create a flying horde (not a childobject) based on the mordorblackorc.ini/Object MordorBlackOrc.
- take ; *** ART Parameters *** +animation from the fellbeast.ini and put them to your new flying horde Object MordorBlackOrc2
- summon them from the OrcPit etc


Edited by damianbt88, 20 October 2013 - 03:34 PM.


ak-ulub laam gûkrûrz-ulub lûp-al


#14 Ale2110

Ale2110
  • Members
  • 58 posts

Posted 21 October 2013 - 11:09 AM

I didn't try to summon them from the fortress, but I put "MyTheNine" in initial units in playertemplate.ini, in the same point of one of porters. It also happens when I "mount" the Nine on foot. However I'll try to create the new object like you said, when I finish I'll post here what happens =)



#15 Ale2110

Ale2110
  • Members
  • 58 posts

Posted 22 October 2013 - 03:43 PM

Ok, I've done. The result is a Fellbeast and a horde of Fellbeasts object (I didn't changed the Audio Parameters, so the sound is like the Black Orc one). The Fellbeast and the horde don't fly, probably 'cause I didn't change other parameters in the objects. I was thinking about the hero definition of an object, for example this is KindOf string of the original Fellbeast:

KindOf = HERO PRELOAD SELECTABLE CAN_CAST_REFLECTIONS SCORE NO_FREEWILL_ENTER SCARY MONSTER CANNOT_RETALIATE ARMY_SUMMARY

If I cancel HERO from the string, is the Fellbeast threated like a non-hero unit? I'm trying to understand which parts of code I must put in the new Fellbeast object taking them from the original, so the new Fellbeast will be as equal as possible at the original object, but I must pay attention in order to not return at the beginning situation =)

 

... and if I threat it as a non-hero object, I won't able to give it the image at the bottom of the screen to select it, right?

 

EDIT:  I tested this new object, copied from Object BlackRiderMountedInterface:

Object HDMyNazgulOnFoot
	; *** ART Parameters ***

	; SelectPortrait for Heros is portrait behind skill buttons. HP = HeroPortrait.
	SelectPortrait         = HPBlackRider

	; ButtonImage for Heros is button image on Hero Select UI to select hero. HI = HeroIcon or HeroImage.
	; This is required for garrisoned objects - please put in all objects.
	ButtonImage = HIBlackRider
	
	DescriptionStrategic = CONTROLBAR:LW_ToolTip_BlackRider
    
	Draw = W3DHordeModelDraw ModuleTag_01
		OkToChangeModelColor = Yes ; temporarily commented out to remove the house color

		;WadingParticleSys = EntRipples

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

		DefaultModelConditionState
			Model			= MUNazgul_SKN
		End


		ModelConditionState = MOUNTED USER_3
			Model			= MUBlkRider_SKN
			ParticleSysBone     = None BlackRiderFlare FXTrigger:NONE Persist:SPAWN PersistID:100
		End
	
		ModelConditionState = MOUNTED
			Model			= MUBlkRider_SKN
		End

		
		ModelConditionState = USER_3
			ParticleSysBone     = None BlackRiderFlare FXTrigger:NONE Persist:SPAWN PersistID:100
		End
				
		IdleAnimationState
			StateName				= Idle
			Animation
				AnimationName       = MUNazgul_SKL.MUNazgul_IDLB
				AnimationPriority	= 4
				AnimationBlendTime	= 15
				AnimationMode       = ONCE
			End
			Animation
				AnimationName       = MUNazgul_SKL.MUNazgul_IDLC
				AnimationPriority	= 1
				AnimationBlendTime	= 15
				AnimationMode       = ONCE
			End
			Animation
				AnimationName       = MUNazgul_SKL.MUNazgul_IDLD
				AnimationPriority = 1
				AnimationBlendTime	= 15
				AnimationMode       = ONCE
			End
			Flags				=	RESTART_ANIM_WHEN_COMPLETE		
			BeginScript
				Prev = CurDrawablePrevAnimationState()
				if Prev == "STATE_Selected" then CurDrawableSetTransitionAnimState("TRANS_Selected_to_Idle") end
			EndScript	
		End
		
		
		
		;-------------------------- MOUNTED VERSION ---------------------------------------------------------
		
		AnimationState        = PASSENGER MOUNTED
			Animation           = grabbed
				AnimationName       = MUBlkRider_SKL.MUBlkRider_GBDA
				AnimationMode       = LOOP
			End
			Flags               = RANDOMSTART
		End

		; --- stunned anims
		AnimationState        = FREEFALL MOUNTED
			Animation           = freefall
				AnimationName       = MUBlkRider_SKL.MUBlkRider_FLYB
				AnimationMode       = LOOP
			End
			Flags               = RANDOMSTART
		End
		
		AnimationState        = STUNNED_FLAILING MOUNTED
			Animation           = JustDie
				AnimationName       = MUBlkRider_SKL.MUBlkRider_FLYB
				AnimationMode       = LOOP
			End
			Flags               = RANDOMSTART
		End

		AnimationState				=	DYING SPLATTED MOUNTED
			Animation				=	splatted
				AnimationName		=	MUBlkRider_SKL.MUBlkRider_LNDA
				AnimationMode		=	ONCE
			End
		End
		
		AnimationState				=	BURNINGDEATH MOUNTED DYING
			Animation
				AnimationName		=	MUBlkRider_SKL.MUBlkRider_DIEA
				AnimationMode		=	ONCE
				AnimationBlendTime	=	10
			End
			Animation
				AnimationName		=	MUBlkRider_SKL.MUBlkRider_DIEC
				AnimationMode		=	ONCE
				AnimationBlendTime	=	10
			End
		End

		AnimationState				=	BURNINGDEATH MOUNTED
			Animation
				AnimationName		=	MUBlkRider_SKL.MUBlkRider_MFDA
				AnimationMode		=	LOOP
				AnimationBlendTime	=	10
				Distance			=	80
			End
		End

		AnimationState				= DYING MOUNTED     ; DEATH_2 Normally has DEATH_2, but just as a backup don't insist
			Animation				
				AnimationName       = MUBlkRider_SKL.MUBlkRider_DIEA
				AnimationMode       = ONCE
			End
			Animation				
				AnimationName		= MUBlkRider_SKL.MUBlkRider_DIEC 
				AnimationMode		= ONCE
			End
		End
		
		AnimationState        = STUNNED_STANDING_UP MOUNTED
			Animation           = StandUp
				AnimationName       = MUBlkRider_SKL.MUBlkRider_GTPA
				AnimationMode       = ONCE
				AnimationSpeedFactorRange = 1.5 1.5
			End
		End

		AnimationState        = STUNNED MOUNTED
			Animation           = Land
				AnimationName       = MUBlkRider_SKL.MUBlkRider_LNDA
				AnimationMode       = ONCE
			End
		End

		AnimationState        = MOVING FIRING_OR_PREATTACK_A MOUNTED
			ShareAnimation		= Yes
			Animation           = TrotAndFire
				AnimationName       = MUBlkRider_SKL.MUBlkRider_ATRA
				AnimationMode       = LOOP
				Distance			= 70; 35
			End
			Flags               = RANDOMSTART
		End

		AnimationState				=	TURN_LEFT_HIGH_SPEED MOUNTED
			Animation				=	TurnLeft
				AnimationName		=	MUBlkRider_SKL.MUBlkRider_RUNA
				AnimationMode		=	LOOP
				AnimationBlendTime	=	20
			End
		End

		AnimationState				=	TURN_RIGHT_HIGH_SPEED MOUNTED
			Animation				=	TurnLeft
				AnimationName		=	MUBlkRider_SKL.MUBlkRider_RUNA
				AnimationMode		=	LOOP
				AnimationBlendTime	=	20
			End
		End
		
;;======= TERROR
		AnimationState				= MOVING EMOTION_TERROR EMOTION_LOOK_TO_SKY MOUNTED
			Animation				= RUNB
				AnimationName		= MUBlkRider_SKL.MUBlkRider_RUNB
				AnimationMode		= LOOP
			End
		End
		AnimationState				= MOVING EMOTION_TERROR MOUNTED
			Animation				= RUNB
				AnimationName		= MUBlkRider_SKL.MUBlkRider_RUNB
				AnimationMode		= LOOP
			End
		End
;;===== BACKUP
		AnimationState				=	MOVING BACKING_UP MOUNTED
			Animation				=	BackingUp
				AnimationName		=	MUBlkRider_SKL.MUBlkRider_BAKA
				AnimationMode		=	LOOP
			End
			Flags					=	RANDOMSTART
		End
	
		AnimationState        = MOVING TURN_LEFT MOUNTED
			Animation				=	TurnLeft
				AnimationName		=	MUBlkRider_SKL.MUBlkRider_TRNL
				AnimationMode		=	LOOP
				AnimationSpeedFactorRange= .8 .8
			End
		End

		AnimationState        = MOVING TURN_RIGHT MOUNTED
			Animation				=	TurnLeft
				AnimationName		=	MUBlkRider_SKL.MUBlkRider_TRNR
				AnimationMode		=	LOOP
				AnimationSpeedFactorRange= .8 .8
			End
		End
	
		AnimationState			= MOVING ACCELERATE MOUNTED
			Animation           = Accelerate
				AnimationName   = MUBlkRider_SKL.MUBlkRider_ACCL
				AnimationMode   = ONCE ; was LOOP
			End
		End

		AnimationState			= MOVING DECELERATE MOUNTED
			Animation           = Decelerate
				AnimationName   = MUBlkRider_SKL.MUBlkRider_DECL
				AnimationMode   = ONCE
				AnimationSpeedFactorRange = 0.6 0.6
			End
		End

		AnimationState        = MOVING MOUNTED
			ShareAnimation		= Yes
			Animation           = RunA
				AnimationName       = MUBlkRider_SKL.MUBlkRider_RUNA
				AnimationMode       = LOOP
			End
			Animation           = RunB
				AnimationName       = MUBlkRider_SKL.MUBlkRider_RUNB
				AnimationMode       = LOOP
			End
			Flags               = RANDOMSTART
		End


		AnimationState        = FIRING_OR_PREATTACK_A MOUNTED
			Animation           = ATKA
				AnimationName       = MUBlkRider_SKL.MUBlkRider_ATKA
				AnimationMode       = ONCE
			End
			Animation           = ATKB
				AnimationName       = MUBlkRider_SKL.MUBlkRider_ATKB
				AnimationMode       = ONCE
			End
			Animation           = Defend
				AnimationName       = MUBlkRider_SKL.MUBlkRider_DFDA
				AnimationMode       = ONCE
			End
			Flags               = RESTART_ANIM_WHEN_COMPLETE
		End
		
		; --- Morgul Blade Weapon anim
		AnimationState        = SPECIAL_WEAPON_ONE MOUNTED
			Animation             = ATKA
				AnimationName       = MUBlkRider_SKL.MUBlkRider_ATKA
				AnimationMode       = ONCE
			End
		End

		; --------- Click and Hit Reactions ------------
		AnimationState = HIT_REACTION HIT_LEVEL_1 MOUNTED
			Animation = Hit_Level_1_a
				AnimationName = MUBlkRider_SKL.MUBlkRider_HFMA
				AnimationMode = ONCE
			End
		End
	;;------------- EMOTIONS ---------------------------------------------
		
		AnimationState					= EMOTION_TAUNTING MOUNTED
			ShareAnimation				= Yes
			Animation					= Taunting
				AnimationName			= MUBlkRider_SKL.MUBlkRider_TNTA
				AnimationMode			= ONCE
			End
			Animation					= Taunting
				AnimationName			= MUBlkRider_SKL.MUBlkRider_TNTB
				AnimationMode			= ONCE
			End
			Animation					= Taunting2
				AnimationName			= MUBlkRider_SKL.MUBlkRider_TNTC
				AnimationMode			= ONCE
			End
			Flags						= RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
		End

		AnimationState					= EMOTION_POINTING MOUNTED
			Animation					= Pointing1
				AnimationName			= MUBlkRider_SKL.MUBlkRider_PNTA
				AnimationMode			= LOOP
			End
		End

		AnimationState					= EMOTION_CELEBRATING MOUNTED
			ShareAnimation				= Yes
			Animation					= CHRA
				AnimationName			= MUBlkRider_SKL.MUBlkRider_CHRA
				AnimationMode			= ONCE
			End
			Animation					= CHRB
				AnimationName			= MUBlkRider_SKL.MUBlkRider_CHRB
				AnimationMode			= ONCE
			End
			Flags						= RESTART_ANIM_WHEN_COMPLETE
		End
		
		AnimationState					= EMOTION_ALERT MOUNTED
			Animation					= IDLA
				AnimationName			= MUBlkRider_SKL.MUBlkRider_IDLA
				AnimationMode			= LOOP
			End
		End
		
		AnimationState					= RAISING_FLAG MOUNTED
			ShareAnimation				= Yes
			Animation					= CHRA
				AnimationName			= MUBlkRider_SKL.MUBlkRider_CHRA
				AnimationMode			= ONCE
				AnimationSpeedFactorRange		= 0.9 1.1
			End
			Animation					= CHRB
				AnimationName			= MUBlkRider_SKL.MUBlkRider_CHRB
				AnimationMode			= ONCE
				AnimationSpeedFactorRange		= 0.9 1.1
			End
			Flags						= RESTART_ANIM_WHEN_COMPLETE
		End

		AnimationState				=	SELECTED MOUNTED
			StateName				=	State_Selected
			Animation				=	AtAttention
				AnimationName		=	MUBlkRider_SKL.MUBlkRider_IDLG
				AnimationMode		=	Loop
			End
			BeginScript
				Prev = CurDrawablePrevAnimationState()
				if Prev == "Idle" then CurDrawableSetTransitionAnimState("TRANS_Idle_To_Selected") end
			EndScript
		End

		AnimationState = MOUNTED
			StateName				= Idle
			Animation				= IdleA
				AnimationName       = MUBlkRider_SKL.MUBlkRider_IDLA
				AnimationPriority   = 20
				AnimationMode       = ONCE
				AnimationBlendTime  = 15
			End
			Animation           = IdleB
				AnimationName       = MUBlkRider_SKL.MUBlkRider_IDLB
				AnimationMode       = ONCE
				AnimationBlendTime  = 15
			End
			Animation           = IdleC
				AnimationName       = MUBlkRider_SKL.MUBlkRider_IDLC
				AnimationMode       = ONCE
				AnimationBlendTime  = 15
			End
			Animation           = IdleG
				AnimationName       = MUBlkRider_SKL.MUBlkRider_IDLG
				AnimationMode       = ONCE
				AnimationBlendTime  = 15
			End
			Flags						= RANDOMSTART RESTART_ANIM_WHEN_COMPLETE
			BeginScript
				Prev = CurDrawablePrevAnimationState()
				if Prev == "State_Selected" then CurDrawableSetTransitionAnimState("TRANS_Selected_To_Idle") end
			EndScript
		End


		TransitionState					=	TRANS_Idle_to_Selected
			Animation					=	ATNA
				AnimationName			=	MUBlkRider_SKL.MUBlkRider_ATNA
				AnimationMode			=	ONCE
				AnimationSpeedFactorRange = 0.8 1.2
			End
		End
		
		
		TransitionState					=	TRANS_Selected_to_Idle
			Animation					=	ATNA
				AnimationName			=	MUBlkRider_SKL.MUBlkRider_ATNA
				AnimationMode			=	ONCE_BACKWARDS
				AnimationSpeedFactorRange = 0.8 1.2
			End
			Flags						= START_FRAME_LAST
		End
		
		
		;-------------------------- NON MOUNTED VERSION ---------------------------------------------------------
		
		
		
		AnimationState				=	DYING BURNINGDEATH
			Animation
				AnimationName		=	MUNazgul_SKL.MUNazgul_DTHA
				AnimationMode		=	ONCE
				AnimationBlendTime	=	10
			End
		End
		

		AnimationState = DYING
			Animation
				AnimationName       = MUNazgul_SKL.MUNazgul_DTHA
				AnimationMode       = ONCE
			End
		End
		
		AnimationState				=	BURNINGDEATH
			Animation
				AnimationName		=	MUNazgul_SKL.MUNazgul_MFDA
				AnimationMode		=	LOOP
				Distance			=	90
			End
		End

		AnimationState = FREEFALL
			Animation
				AnimationName = MUNazgul_SKL.MUNazgul_FLYA
				AnimationMode = LOOP
			End
			Flags = RANDOMSTART
		End
		
		AnimationState = STUNNED_FLAILING
			Animation
				AnimationName = MUNazgul_SKL.MUNazgul_FLYA
				AnimationMode = LOOP
				AnimationSpeedFactorRange	= 0.4 0.6
			End
			Flags = RANDOMSTART
		End
		
		AnimationState = STUNNED_STANDING_UP
			Animation
				AnimationName = MUNazgul_SKL.MUNazgul_GTPA
				AnimationMode = ONCE
			End
		End		

		AnimationState = MOVING FIRING_OR_PREATTACK_A
			Animation
				AnimationName = MUNazgul_SKL.MUNazgul_RUNB
				AnimationMode = LOOP
			End
			
			Flags = RESTART_ANIM_WHEN_COMPLETE
		End
				
		AnimationState = FIRING_OR_PREATTACK_A
			Animation
				AnimationName = MUNazgul_SKL.MUNazgul_ATKA
				AnimationMode = ONCE
			End
			Animation
				AnimationName = MUNazgul_SKL.MUNazgul_ATKB
				AnimationMode = ONCE
			End
		End

		AnimationState = MOVING
			Animation
				AnimationName = MUNazgul_SKL.MUNazgul_RUNA
				AnimationMode = LOOP
			End
			Flags = RESTART_ANIM_WHEN_COMPLETE
		End

		; --------- Click and Hit Reactions ------------
		AnimationState = HIT_REACTION HIT_LEVEL_1
			Animation = Hit_Level_1_a
				AnimationName = MUNazgul_SKL.MUNazgul_HITA
				AnimationMode = ONCE
			End
		End
			
		AnimationState = LEVELED
			Animation = Hit_Level_1_a
				AnimationName = MUNazgul_SKL.MUNazgul_LVLA
				AnimationMode = ONCE
			End
		End			
			
;		AnimationState = ENGAGED
;			Animation
;				AnimationName = MUNazgul_SKL.MUNazgul_APPA
;				AnimationMode = LOOP
;			End
;		End
		
		
		AnimationState = EMOTION_CELEBRATING
			Animation
				AnimationName = MUNazgul_SKL.MUNazgul_CHRA
				AnimationMode = LOOP
			End
		End
		
		AnimationState							= EMOTION_TAUNTING
			Animation							= TNTA
				AnimationName					= MUNazgul_SKL.MUNazgul_TNTA
				AnimationMode					= ONCE
				AnimationSpeedFactorRange		= 0.8 1.2
			End
		End
				
		AnimationState = RAISING_FLAG
			Animation
				AnimationName = MUNazgul_SKL.MUNazgul_CHRA
				AnimationMode = LOOP
			End
		End

		AnimationState = SELECTED
			Animation
				AnimationName = MUNazgul_SKL.MUNazgul_ATNB
				AnimationMode = LOOP
			End
			BeginScript
				Prev = CurDrawablePrevAnimationState()
				if Prev == "STATE_Idle" then CurDrawableSetTransitionAnimState("TRANS_Idle_to_Selected") end
			EndScript			
		End
		
    TransitionState = TRANS_Idle_to_Selected
		Animation = ATNA
			AnimationName		= MUNazgul_SKL.MUNazgul_ATNA
			AnimationMode		= ONCE
			AnimationBlendTime	= 10
		End
    End
    
    TransitionState = TRANS_Selected_to_Idle
		Animation = ATNF
			AnimationName		= MUNazgul_SKL.MUNazgul_ATNF
			AnimationMode		= ONCE
			AnimationBlendTime	= 10
		End
    End
    		
	End
		
	Draw = W3DScriptedModelDraw DustEffects
	    DefaultModelConditionState
	      Model = None
	    End
	    IdleAnimationState
	    End
	    AnimationState = MOVING WADING MOUNTED
			ParticleSysBone = None FootstepSlash
	    End
	    AnimationState = MOVING ACCELERATE MOUNTED
			ParticleSysBone = None GenericSiegeTrailDust
	    End
	    AnimationState = MOVING DECELERATE MOUNTED
			ParticleSysBone = None GenericSiegeTrailDust
	    End
	    AnimationState = MOVING MOUNTED
	    End
	End

	; NOTE, PLEASE: If you are changing this unit in any way, you should consider changing 
	; GondorCavalryRiderless in FactionSubObject.ini

	; ***DESIGN parameters ***
	Side				= Arda
	EditorSorting			= UNIT
	ThreatLevel			= BLACKRIDER_THREAT_LEVEL
	TransportSlotCount		= TRANSPORTSLOTCOUNT_HERO
	MaxSimultaneousOfType		= 8	
	BountyValue			= FELLBEAST_BOUNTY_VALUE ;;,;; EVILMEN_BLACKRIDER_BOUNTY_VALUE
	DisplayName			= OBJECT:MordorKhamul
	DisplayNameStrategic = OBJECT:MordorKhamul
	RecruitText			= CONTROLBAR:MordorKhamulRecruit
	ReviveText			= CONTROLBAR:MordorKhamulRevive
	Hotkey				= CONTROLBAR:MordorKhamulHotkey
	CommandSet			= MyBlackRiderOnFootCommandSet
	CommandPoints			= 10 ;;,;; 75 ;;,;; 25	

	BuildCost			= 1000
	BuildTime			= 60 ;;,;; NAZGUL_BUILDTIME
	ShockwaveResistance 		= SHOCKWAVE_RESISTANCE_STRONG	
	ShroudClearingRange		= EVILMEN_BLACKRIDER_SHROUD_RANGE  	     
	VisionRange			= EVILMEN_BLACKRIDER_VISION_RANGE
	MaxVisionBonusPercent		= 300%
	VisionBonusTestRadius		= 200
	VisionBonusPercentPerFoot	= 2.0%

	CrushableLevel			= 2			; What am I?:        0 = for infantry, 1 = for trees, 2 = general vehicles

	MountedCrusherLevel		= 1
	MountedCrushableLevel		= 3
	CrushWeapon			= KnightCrush

	MinCrushVelocityPercent 	= 50 ; Has to be moving at at least 50% of full speed.
	CrushDecelerationPercent	= 20 ; Lose 80 percent of max velocity when crushing.

	RamPower			= 30;
	RamZMult			= 0.5;

	ArmorSet
		Conditions      = None
		Armor           = DismountedNazgulArmor ; new armorset for 2.1 ;;,;; ToughHeroArmor
		DamageFX        = NormalDamageFX
	End

	
	WeaponSet
		Conditions		= None 
		Weapon			= PRIMARY    EvilMenBlackRiderSword
		AutoChooseSources	= PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI
	End


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

	AutoResolveBody = AutoResolve_BlackRiderBody

	AutoResolveArmor
		Armor = AutoResolve_BlackRiderArmor
	End

	AutoResolveWeapon
		Weapon = AutoResolve_BlackRiderWeapon
	End


	; *** AUDIO Parameters ***;

	VoiceAttack					= FellBeastVoiceAttack
	VoiceAttackCharge			= FellBeastVoiceAttack
	VoiceAttackMachine			= FellBeastVoiceAttack
	VoiceAttackStructure		= FellBeastVoiceAttack
;	VoiceCreated				= EVA:NazgulCreated
;	VoiceFullyCreated 			= EVA:NazgulCreated
	VoiceGuard					= FellBeastVoiceMove
	VoiceMove					= FellBeastVoiceMove
	VoicePriority				= 51
	VoiceRetreatToCastle		= FellBeastVoiceMove
	VoiceSelect					= FellBeastVoiceSelect
	VoiceSelectBattle 			= FellBeastVoiceSelect

	SoundImpact					= ImpactHorse

	UnitSpecificSounds
		VoiceEnterUnitEvilMenTransportShip	= FellBeastVoiceMove
		VoiceEnterUnitMordorMumakil			= FellBeastVoiceMove
		VoiceEnterUnitSlaughterHouse		= FellBeastVoiceMove
		VoiceGarrison						= FellBeastVoiceMove
		VoiceInitiateCaptureBuilding		= FellBeastVoiceMove
	End

	ClientBehavior = ModelConditionSoundSelectorClientBehavior ModuleTag_MCSoundSelector
		SoundState = MOUNTED
			VoiceMove			= BlackRiderVoiceMoveMountedMS
			VoiceSelect			= BlackRiderVoiceSelectMountedMS
			;SoundMoveStart		= GondorHorseMoveStart
		End
	End

    #include "..\..\..\includes\StandardUnitEvaEvents.inc"
	EvaEventDieOwner 			= NazgulDie		;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:MUBLKRIDER_SKL.MUBLKRIDER_CHRA	Frames:26 38 

		AnimationSound = Sound:HorseMoveFootstepsLoose		Animation:MUBlkRider_SKL.MUBlkRider_ACCL	Frames:8 30
		AnimationSound = Sound:HorseMoveFootstepsLoose		Animation:MUBlkRider_SKL.MUBlkRider_RUNA	Frames:0
		AnimationSound = Sound:HorseMoveFootstepsLoose		Animation:MUBlkRider_SKL.MUBlkRider_RUNB	Frames:0
		AnimationSound = Sound:HorseMoveFootstepsLoose		Animation:MUBlkRider_SKL.MUBlkRider_TNL1	Frames:0
		AnimationSound = Sound:HorseMoveFootstepsLoose		Animation:MUBlkRider_SKL.MUBlkRider_TNR1	Frames:0
		AnimationSound = Sound:HorseMoveFootstepsLoose		Animation:MUBlkRider_SKL.MUBlkRider_TRNL	Frames:0
		AnimationSound = Sound:HorseMoveFootstepsLoose		Animation:MUBlkRider_SKL.MUBlkRider_TRNR	Frames:0
		AnimationSound = Sound:HorseWhinny					Animation:MUBlkRider_SKL.MUBlkRider_DIEA	Frames:0
		;AnimationSound = Sound:HorseWhinny					Animation:MUBlkRider_SKL.MUBlkRider_DIEB	Frames:0
		AnimationSound = Sound:HorseWhinny					Animation:MUBlkRider_SKL.MUBlkRider_DIEC	Frames:0
		;AnimationSound = Sound:HorseWhinny					Animation:MUBlkRider_SKL.MUBlkRider_DIED	Frames:0
		AnimationSound = Sound:HorseWhinny					Animation:MUBlkRider_SKL.MUBlkRider_IDLC	Frames:9
		AnimationSound = Sound:HorseWhinny					Animation:MUBlkRider_SKL.MUBlkRider_TNTB	Frames:9
		AnimationSound = Sound:BodyFallGeneric1				Animation:MUBlkRider_SKL.MUBlkRider_DIEA	Frames:10 46
		AnimationSound = Sound:BodyFallGeneric1				Animation:MUBlkRider_SKL.MUBlkRider_DIEC	Frames:20 43
		AnimationSound = Sound:BodyFallGenericNoArmor		Animation:MUBlkRider_SKL.MUBlkRider_DIEC	Frames:70
		AnimationSound = Sound:BodyFallGeneric1				Animation:MUBlkRider_SKL.MUBlkRider_LNDA	Frames:3 11
		AnimationSound = Sound:HorseWhinny					Animation:MUBlkRider_SKL.MUBlkRider_LNDA	Frames:0
	End

	Behavior = LargeGroupAudioUpdate ModuleTag_LGAU			;Tie into LargeGroupAudio system
		Key = Nazgul Nazgul_Horse ;;,;; ;;; Human Unit Cavalry Knight
	End


	; *** ENGINEERING Parameters ***
	RadarPriority = UNIT
	ThingClass = CAVALRY_UNIT

	KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS SCORE GRAB_AND_DROP INFANTRY ARMY_SUMMARY HEAVY_MELEE_HITTER ;removed HERO
	
	Body = RespawnBody ModuleTag_RespawnBody
		CheerRadius = EMOTION_CHEER_RADIUS

		MaxHealth		= NAZGUL_HEALTH
		MaxHealthDamaged	= NAZGUL_HEALTHDAMAGED
		RecoveryTime		= NAZGUL_HEALTHRECOVERY_TIME
		
		PermanentlyKilledByFilter	= NONE		;Who kills me permanently?
   		DodgePercent      		= HERO_DODGE_PERCENT
		BurningDeathBehavior	= Yes
		BurningDeathFX			= FX_InfantryBurningFlame
	End

	Behavior = RespawnUpdate ModuleTag_RespawnUpdate
		DeathAnim					= DYING							;Model condition to play when killed-to-respawn
		DeathFX						= FX_BlacRiderDieToRespawn     	;FXList to play when killed-to-respawn
		DeathAnimationTime			= 3933							;How long DeathAnim will take.
		;InitialSpawnFX				= FX_BlackRiderInitialSpawn		;FXList to play when respawning.
		RespawnAnim					= LEVELED						;Animation to play when respawning.
		;RespawnFX					= FX_ResurrectionBlackRider		;FXList to play when respawning.
		RespawnAnimationTime		= 2000							;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					= HIBlackRider_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:750		Time:80000		Health:100%		;DEFAULT VALUES

;;,;; Version 2.1 Respawn Rules
		RespawnRules =			AutoSpawn:No	Cost:1000		Time:60		Health:100%		;DEFAULT VALUES
	End
	
	///REMOVED PART: IS NAZGUL NO MORE A HERO?

	;Behavior = StancesBehavior ModuleTag_StancesBehavior
        ;StanceTemplate = Hero
    	;End

	/////////////////////////////////////////////////////

	Behavior = AutoHealBehavior ModuleTag_EowynHealing
		StartsActive = Yes
		HealingAmount = NAZGUL_HEAL_AMOUNT ;;,;; HERO_HEAL_AMOUNT
		HealingDelay = 1000
		StartHealingDelay = HERO_HEAL_DELAY
		HealOnlyIfNotInCombat = Yes
	End

	Behavior = AIUpdateInterface ModuleTag_03
		AutoAcquireEnemiesWhenIdle	= Yes ATTACK_BUILDINGS
		AILuaEventsList				= EvilMenBlackRiderFunctions
		BurningDeathTime			= BURNINGDEATH_DURATION_INFANTRY
	End

	LocomotorSet
		Locomotor = NazgulLocomotor ;;,;; NormalHorseHordeMemberLocomotor
		Condition = SET_NORMAL
		Speed     = NORMAL_EVIL_FAST_MEMBER_SPEED
	End
	
	LocomotorSet
		Locomotor = NormalHorseHordeMemberLocomotor
		Condition = SET_MOUNTED
		Speed     = NORMAL_CAVALRY_FAST_MEMBER_SPEED
	End

	LocomotorSet
		Locomotor = BurningDeathLocomotorInfantry
		Condition = SET_BURNINGDEATH
		Speed	  = 60
	End

	Behavior = PhysicsBehavior ModuleTag_04
		GravityMult = 1.0
		ShockStandingTime = 2533	;msec
	End
	
	Behavior = SquishCollide ModuleTag_06
		;nothing
	End

	Behavior = HordeMemberCollide ModuleTag_HMC
		;nothing
	End
	
	Behavior = SlowDeathBehavior ModuleTag_08
		; Die and don't spawn horse
		DeathTypes = ALL 
		SinkDelay = 3000
		SinkRate = 0.80     ; in Dist/Sec
		DestructionDelay = 12000
		;ProbabilityModifier = 33
		Sound = INITIAL BlackRiderVoiceDie ;;,;; ;;; GondorSoldierVoiceDie
	End

	  Behavior = HitReactionBehavior HitReactionBehaviorModuleTag
		HitReactionLifeTimer1 = 2000 ; level 1 (light  damage)  hit reaction animations in frames (5 per sec)
		HitReactionLifeTimer2 = 2000 ; level 2 (medium damage)  hit reaction animations in frames (5 per sec)
		HitReactionLifeTimer3 = 2000 ; 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
	
	;;; CAPTURE ;;;
	#include "..\..\..\includes\CaptureBuilding.inc"
  
	;--------- SCREECH -----------------------------------------------------------------------------------
 	Behavior = UnpauseSpecialPowerUpgrade ModuleTag_BlackRiderScreechEnabler
		SpecialPowerTemplate = SpecialAbilityScreech
		TriggeredBy = Upgrade_BlackRiderNazgulScreech
	End
	Behavior = SpecialPowerModule ModuleTag_BlackRiderScreech                      
		SpecialPowerTemplate		= SpecialAbilityScreech
		UpdateModuleStartsAttack	= Yes
		StartsPaused			= Yes
		TriggerFX				= FX_FearBlast
	End
	Behavior = SpecialAbilityUpdate ModuleTag_BlackRiderScreechSAUpdate  
		SpecialPowerTemplate		= SpecialAbilityScreech
		UnpackTime					= 0  
		AwardXPForTriggering		= 0		
		TriggerSound				= NazgulScreech
		Instant						= Yes
		EffectRange					= 180
	End
	
	;--------- DREAD VISAGE -----------------------------------------------------------------------------------
	Behavior = UnpauseSpecialPowerUpgrade ModuleTag_BlackRiderDreadVisage
		SpecialPowerTemplate = SpecialAbilityFakeLeadership
		TriggeredBy = Upgrade_BlackRiderDreadVisage
	End
	Behavior = SpecialPowerModule ModuleTag_BlackRiderDreadVisageUpdate
		SpecialPowerTemplate      = SpecialAbilityFakeLeadership
		UpdateModuleStartsAttack  = Yes
		StartsPaused = Yes
	End
	Behavior = AttributeModifierAuraUpdate ModuleTag_DreadVisage
		StartsActive		= No ;If no, requires upgrade to turn on.
		BonusName		= GenericDebuff
		TriggeredBy		= Upgrade_BlackRiderDreadVisage
		RefreshDelay	= 2000
		Range			= 200
		TargetEnemy		= Yes
;;,;;		AntiCategory	= LEADERSHIP BUFF ; This means cancel all previous leadership bonuses
		ObjectFilter	= GENERIC_BUFF_RECIPIENT_OBJECT_FILTER ;;,;; ANY +INFANTRY +CAVALRY -STRUCTURE -BASE_FOUNDATION -HERO -HORDE -MordorBlackRiderHorde -MordorBlackRider -GondorKnightsofDol -GondorKnightsofDolHorde -IsengardFanatic -IsengardBerserkerHorde  -DwarvenZerker -DwarvenZerkerHorde -NoldorWarrior -NoldorWarriorHorde -WildBabyDrakeHorde -WildBabyDrake ;;.;; Removed MHH
	End
	Behavior = ModelConditionUpgrade ModuleTag_DreadVisageModelCondition
		TriggeredBy			= Upgrade_BlackRiderDreadVisage
		AddConditionFlags	= USER_3
	End
	
	Behavior = RadiateFearUpdate ModuleTag_DreadVisageFear
		InitiallyActive						= No
		TriggeredBy							= Upgrade_BlackRiderDreadVisage
		WhichSpecialPower					= 1
		GenerateTerror						= No
		GenerateFear			= Yes
		EmotionPulseRadius					= 100
		EmotionPulseInterval				= 1000
	End
	
	;--------- MORGUL BLADE -----------------------------------------------------------------------------------
	Behavior = UnpauseSpecialPowerUpgrade ModuleTag_BlackRiderMorgulBlade
		SpecialPowerTemplate = SpecialAbilityBlackRiderMorgulBlade
		TriggeredBy = Upgrade_BlackRiderMorgulBlade
	End
	Behavior = SpecialPowerModule ModuleTag_BlackRiderMorgulBladeStarter
		SpecialPowerTemplate		= SpecialAbilityBlackRiderMorgulBlade
		UpdateModuleStartsAttack	= Yes
		StartsPaused				= Yes
		InitiateSound				= FellBeastVoiceAttack		;LurtzVoiceAttackCripplingStrike
	End
	Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_BlackRiderMorgulBladeUpdate
		SpecialPowerTemplate    = SpecialAbilityBlackRiderMorgulBlade
		SkipContinue			= Yes

		UnpackTime				= 250
		PreparationTime			= 1
		PersistentPrepTime		= 500
		PackTime				= 100
		
		AwardXPForTriggering	= 0		
		StartAbilityRange		= 15.0
		
		SpecialWeapon			= EvilMenBlackRiderMorgulBlade
		WhichSpecialWeapon		= 1
	End
	Behavior = AutoAbilityBehavior ModuleTag_MorgulBladeAutoAbility
		SpecialAbility	= SpecialAbilityBlackRiderMorgulBlade
		ForbiddenStatus = INSIDE_GARRISON
		AllowSelf		= No
		Query			= 1 MORGULBLADE_OBJECT_FILTER
	End
	
	Behavior = NotifyTargetsOfImminentProbableCrushingUpdate ModuleTag_NotifyCrushScan
	End
	
	;///////////////////
	; AISpecialPowers
	;///////////////////
	
	Behavior = AISpecialPowerUpdate ToggleMountedAI
		CommandButtonName = Command_KhamulToggleMounted
		SpecialPowerAIType = AI_SPECIAL_POWER_TOGGLE_MOUNTED
	End
	
	Behavior = AISpecialPowerUpdate GondorFighterHordeStanceBattle
		CommandButtonName = Command_SetStanceBattle
		SpecialPowerAIType = AI_SPECIAL_POWER_STANCEBATTLE
	End

	Behavior = AISpecialPowerUpdate GondorFighterHordeStanceAggressive ;;,;; Changed for 3.0.1
		CommandButtonName = Command_AttackMove ;;,;; Command_SetStanceAggressive ;;,;; Changed for 3.0.1
		SpecialPowerAIType = AI_SPECIAL_POWER_STANCEAGGRESSIVE
	End

	Behavior = AISpecialPowerUpdate GondorFighterHordeHoldGround
		CommandButtonName = Command_SetStanceHoldGround
		SpecialPowerAIType = AI_SPECIAL_POWER_STANCEHOLDGROUND
	End
	
	Behavior = AISpecialPowerUpdate MorgulBladeAI
		CommandButtonName = Command_BlackRiderMorgulBlade
		SpecialPowerAIType = AI_SPECIAL_POWER_MORGUL_BLADE
	End

	Geometry			= CYLINDER
	GeometryMajorRadius = 16.0
	GeometryHeight		= 25.0
	GeometryIsSmall		= Yes

	Shadow				= SHADOW_DECAL
	ShadowSizeX			= 30
	ShadowSizeY			= 21
	ShadowTexture		= ShadowI

	; Do I need to change GondorCavalryRiderless?
End

;//////////////////////////////////////////////////

At the moment this new Nazgul (on foot) seems a hero no more; it can be created from the revive slot of the fortress and it seems like there'no problems. Now I'll try to do the same for other objects, posting the results. =)


Edited by Ale2110, 23 October 2013 - 10:34 AM.


#16 Ale2110

Ale2110
  • Members
  • 58 posts

Posted 24 October 2013 - 12:45 PM

The new hordes have the same problems of the old ones, but using the object where I canceled this part:

;Behavior = StancesBehavior ModuleTag_StancesBehavior
        ;StanceTemplate = Hero
    	;End

the objects don't die when I mount/dismount them =) in the horde on horses the banner is always on foot and the Fellbeast horde remains on the ground moving the wings, but it doesn't move on the map =( I don't create them using buttons, to view the object I put it in playertemplate.ini as initial unit.



#17 damianbt88

damianbt88

    * *

  • Members
  • 110 posts
  • Location:AshKum
  • Projects:AMSG
  •  Ctrl+C Ctrl+V Master

Posted 25 October 2013 - 02:12 AM

it will be easier for me to start from the beginning. i'll try to fix movement problems at the weekend



ak-ulub laam gûkrûrz-ulub lûp-al


#18 Ale2110

Ale2110
  • Members
  • 58 posts

Posted 25 October 2013 - 04:15 PM

Thanks a lot, do you need the single fellbeast object I tried to create? =)



#19 damianbt88

damianbt88

    * *

  • Members
  • 110 posts
  • Location:AshKum
  • Projects:AMSG
  •  Ctrl+C Ctrl+V Master

Posted 25 October 2013 - 05:34 PM

nope. dont thank me yet



ak-ulub laam gûkrûrz-ulub lûp-al


#20 Ale2110

Ale2110
  • Members
  • 58 posts

Posted 28 October 2013 - 08:23 AM

I have to thank you, with your help I solved many problems about the horde I wanna create =) now the Nazguls don't die when mount/dismount, for example =) if someone can help me with the fellbeast horde it would be greatful, 'cause I don't know anything about hordes =( all I can do is copy/paste code and I don't know the meaning of all the code I copy, only some parts =(






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users