Jump to content


Photo

Simple problem with spell.


  • Please log in to reply
9 replies to this topic

#1 SarumantheWhite

SarumantheWhite
  • Members
  • 95 posts

Posted 18 January 2008 - 11:38 AM

Hi i have a problem well: When i buy a spell GandalftheWhite when he is inside the fort before i buy him he will come out as GandalftheWhite but when i buy a spell after i bought him he will still be as GandalftheGrey and he wont has attributes like more damage with his spells and faster recharge time with his spells why??? :wink_new: what is wrong??

Edited by SarumantheWhite, 18 January 2008 - 01:37 PM.


#2 SarumantheWhite

SarumantheWhite
  • Members
  • 95 posts

Posted 18 January 2008 - 11:36 PM

Anyone knows ???? I added that lines in each hero which are connected to attribute modifier well everything seems to be ok hmm ...

Edited by SarumantheWhite, 18 January 2008 - 11:37 PM.


#3 Smartdude1301

Smartdude1301

    title available

  • Members
  • 367 posts
  • Location:Louisiana
  • Projects:WarsOfEast,Rise Of The Hobbits
  •  Leader Of Bfme2 Redone 1.7 Mod,Wars Of The East Advertiser, ,&:Ini Coder, Mapper,

Posted 19 January 2008 - 12:18 AM

Be More Specific Pleas :)
Posted Image
Posted Image
Posted Image

Visit My New bfme forum :)


Here

#4 Sûlherokhh

Sûlherokhh

    Sagacious Engineer

  • Project Team
  • 3,754 posts
  • Location:Central Germany
  • Projects:S.E.E., Sage A.I., Code Advisor
  •  'Axe'er of the Gordic Knot

Posted 19 January 2008 - 04:14 AM

Post Gandalf's code.

bannerreal01mittelit3.jpg
Axed Head and A.I. Coder for S.E.E. and ... stuff

".. coding is basically boring. What's fun is finding out how things work, take them apart and then put them together in ways that were not intended nor even conceived."


#5 SarumantheWhite

SarumantheWhite
  • Members
  • 95 posts

Posted 19 January 2008 - 01:08 PM

Attributemodifier:
ModifierList SpellBookGandalfWhite	Category = SPELL	Modifier = SPELL_DAMAGE 200%	// Spell damage doubled	Modifier = RECHARGE_TIME 50%	// Spell recharge time halfed (twice as quick to recharge)	Modifier = HEALTH 500	 		// add 500 more health	Duration = 0					// Duration is forever when set to 0	ModelCondition = HERO	End

Commandbutton:

CommandButton Command_SpellBookGandalftheWhite    Command                = SPELL_BOOK    Options                = NONPRESSABLE    TextLabel            = CONTROLBAR:GandalftheWhite    DescriptLabel        = CONTROLBAR:TooltipGandalftheWhite        SpecialPower        = SpellBookGandalftheWhite    ButtonImage            = SBGood_GandalftheWhiteEndCommandButton Command_PurchaseSpellGandalftheWhite    Command                = PURCHASE_SCIENCE    ButtonBorderType    = UPGRADE ; Identifier for the User as to what kind of button this is    ButtonImage            = SBGood_GandalftheWhite ; DJR 6/29/4 using same image as spellbook for now    Science                = SCIENCE_GandalftheWhite    TextLabel            = CONTROLBAR:GandalftheWhite    DescriptLabel        = CONTROLBAR:TooltipGandalftheWhite        ;; Trigger this command button when the purchase science is activated        CommandTrigger        = Command_SpellBookGandalftheWhiteEnd
Gandalf.ini:


;------------------------------------------------------------------------------;;	Gandalf.ini;;------------------------------------------------------------------------------; Gandalf the Generic;he is now grey to start out with until we use the spellObject GondorGandalf	; *** ART Parameters ***    ; SelectPortrait for Heros is portrait behind skill buttons. HP = HeroPortrait.	SelectPortrait = HPGandalf        ; ButtonImage for Heros is button image on Hero Select UI to select hero. HI = HeroIcon or HeroImage.	ButtonImage = HIGandalf	DescriptionStrategic = CONTROLBAR:LW_ToolTip_Gandalf    	Draw = W3DScriptedModelDraw ModuleTag_W3DModelDrawInWorldBuilder	    ;When in Worldbuilder, show the normal Gandalf. He's inherited as mounted mode, so we have to get creative.	    ;Because his other draw module has a default state, we need to not show anything if it's in WorldBuilder.					  OkToChangeModelColor = Yes			  		DefaultModelConditionState			Model = None		End		ModelConditionState = WORLD_BUILDER			Model = GUGandalf_SKN		End			End 	Draw = W3DScriptedModelDraw ModuleTag_01		GlowEnabled = No;		GlowEmissive = No;				OkToChangeModelColor = Yes				StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD		ExtraPublicBone = STAFF		ExtraPublicBone = B_SWORDBONE		ExtraPublicBone = PASSENGERBONE		DependencySharedModelFlags = TURN_LEFT_HIGH_SPEED TURN_RIGHT_HIGH_SPEED MOVING ACCELERATE DECELERATE TURN_LEFT TURN_RIGHT ATTACKING BACKING_UP				;;; MODEL STATES ;;;		DefaultModelConditionState ;gandalf is grey to start out with			Model               = GUGandalfG_SKN			WeaponLaunchBone    = TERTIARY STAFF 		End		;;; White Only versions of Gandalf (for solo missions excluding Moria) ;;;		ModelConditionState		= USER_2 MOUNTED			Model               = GUGdfHrs_SKN_M			WeaponLaunchBone    = PRIMARY PASSENGERBONE			WeaponLaunchBone    = TERTIARY STAFF		End		ModelConditionState		= USER_2			Model               = GUGandalf_SKN			WeaponLaunchBone    = TERTIARY STAFF 		End				;;; Grey versions of Gandalf USER MODELS (For Moria only) -- never becomes white;;;		ModelConditionState		= USER_1 MOUNTED			Model               = GUGdfGHrs_SKN			WeaponLaunchBone    = PRIMARY PASSENGERBONE			WeaponLaunchBone    = TERTIARY STAFF            Shadow				= SHADOW_ADDITIVE_DECAL            ShadowSizeX			= 200;            ShadowSizeY			= 200;            ShadowTexture		= EXGandalfGlow;		End		ModelConditionState		= USER_1			Model               = GUGandalfG_SKN			WeaponLaunchBone    = TERTIARY STAFF ;			ParticleSysBone     = STAFF GandalfMoriaLight FollowBone:Yes;			ParticleSysBone     = STAFF GandalfMoriaLightCenter FollowBone:Yes            Shadow				= SHADOW_ADDITIVE_DECAL            ShadowSizeX			= 200;            ShadowSizeY			= 200;            ShadowTexture		= EXGandalfGlow;		End				;;; Mounted version of Gandalf White ;;;		ModelConditionState		= MOUNTED HERO			Model               = GUGdfHrs_SKN_M			WeaponLaunchBone    = PRIMARY PASSENGERBONE			WeaponLaunchBone    = TERTIARY STAFF		End		;;; Mounted version of Gandalf Grey ;;;		ModelConditionState		= MOUNTED			Model               = GUGdfGHrs_SKN			WeaponLaunchBone    = PRIMARY PASSENGERBONE			WeaponLaunchBone    = TERTIARY STAFF		End				;;; Gandalf the White version on foot ;;;		ModelConditionState = HERO ;turn me white when the spell is cast			Model               = GUGandalf_SKN			WeaponLaunchBone    = TERTIARY STAFF 		End		ModelConditionState = WORLD_BUILDER			Model = None		End				IdleAnimationState			StateName = Idle			Animation = Foot_IDLB ; Bored Idle				AnimationName       = GUGandalfG_SKL.GUGandalfG_IDLB				AnimationMode       = ONCE				AnimationPriority   = 20			End			Animation = Foot_IDLC ; Bored Fidget				AnimationName       = GUGandalfG_SKL.GUGandalfG_IDLC				AnimationMode       = ONCE				AnimationPriority   = 2			End			Animation = Foot_IDLD ; Bored Fidget				AnimationName       = GUGandalfG_SKL.GUGandalfG_IDLD				AnimationMode       = ONCE				AnimationPriority   = 1			End			Animation = Foot_IDLE ; Bored Fidget				AnimationName       = GUGandalfG_SKL.GUGandalfG_IDLE				AnimationMode       = ONCE				AnimationPriority   = 2			End			;Animation = Foot_IDLF ; Bored Fidget			;	AnimationName       = GUGandalfG_SKL.GUGandalfF_IDLF	does not exist...			;	AnimationMode       = ONCE			;	AnimationPriority   = 1			;End						BeginScript				Prev = CurDrawablePrevAnimationState()				if Prev == "Selected" then CurDrawableSetTransitionAnimState("TRANS_Selected_To_Idle") end				CurDrawableHideSubObject("STAFF_LIGHT")						EndScript											End		; --- stunned anims  Which must go before deaths in case we are dying in the air.  Plus, DyingSplatted must of course be before Dying		AnimationState				=	MOUNTED STUNNED_FLAILING 			Animation				=	JustDie				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_FLYB				AnimationMode		=	LOOP			End			Flags					=	RANDOMSTART		End				AnimationState				=	MOUNTED DYING SPLATTED			Animation				=	Land				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_LNDA				AnimationMode		=	ONCE			End		End				AnimationState				=	MOUNTED DYING				Animation				=	JustDie				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_DIEA				AnimationMode		=	ONCE			End		End				AnimationState				=	MOUNTED STUNNED_STANDING_UP			Animation				=	StandUp				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_GTPA				AnimationMode		=	ONCE			End		End		AnimationState				=	MOUNTED STUNNED			Animation				=	Land				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_LNDA				AnimationMode		=	ONCE			End		End				AnimationState						= PARALYZED MOUNTED			Animation				AnimationName				= GUGdfHrs_SKL.GUGdfHrs_IDLA				AnimationMode				= LOOP			End		End								AnimationState      = STUNNED_FLAILING 			Animation = StunnedFlail				AnimationName         = GUGandalfG_SKL.GUGandalfG_FLYA				AnimationMode     = LOOP			End		End				AnimationState      = DYING SPLATTED			Animation = Stunned				AnimationName         = GUGandalfG_SKL.GUGandalfG_LNDA				AnimationMode     = ONCE			End;      ;ParticleSysBone   = None GandalfIllumination FollowBone:yes FXTrigger:NONE Persist:KILL PersistID:100		End				AnimationState        = DYING AFLAME			Animation = DieAflame				AnimationName           = GUGandalfG_SKL.GUGandalfG_MFDA				AnimationMode       = LOOP			End		End				AnimationState        = DYING			Animation = Die				AnimationName           = GUGandalfG_SKL.GUGandalfG_DIEB				AnimationMode       = ONCE			End;      ;ParticleSysBone     = None GandalfIllumination FollowBone:yes FXTrigger:NONE Persist:KILL PersistID:100		End		AnimationState        = STUNNED_STANDING_UP			Animation           = GUGandalfG_GTPA				AnimationName     = GUGandalfG_SKL.GUGandalfG_GTPA				AnimationMode     = ONCE			End		End				AnimationState      = STUNNED			Animation = Stunned				AnimationName         = GUGandalfG_SKL.GUGandalfG_LNDA				AnimationMode     = ONCE			End;      ;ParticleSysBone   = None GandalfIllumination FollowBone:yes FXTrigger:NONE Persist:KILL PersistID:100		End		AnimationState						= PARALYZED			Animation				AnimationName				= GUGandalfG_SKL.GUGandalfG_IDLB				AnimationMode				= LOOP			End		End												AnimationState        =  PASSENGER EATING			StateName = BeingEaten			Animation				AnimationName           = GUGandalfG_SKL.GUGandalfG_EATA				AnimationMode       = ONCE				AnimationBlendTime	=	4			End		End			AnimationState        =  PASSENGER		StateName = BeingEaten			Animation				AnimationName           = GUGandalfG_SKL.GUGandalfG_FLLA				AnimationMode       = LOOP				AnimationBlendTime	=	4			End		End			;;; WORD OF POWER ANIMS MOUNTED ;;;		AnimationState        =  SPECIAL_WEAPON_ONE MOUNTED			StateName = Attacking			Animation				AnimationName		= GUGdfHrs_SKL.GUGdfHrs_SPLA				AnimationMode       = ONCE				AnimationBlendTime	=	4			End			FXEvent			= Frame:5 Name:FX_GandalfPreAttackBlast					End			;;; WORD OF POWER ANIMS ON FOOT ;;;		AnimationState        =  SPECIAL_WEAPON_ONE			StateName = Attacking			Animation				AnimationName           = GUGandalfG_SKL.GUGandalfG_SPCK				AnimationMode       = ONCE			End			FXEvent			= Frame:5 Name:FX_GandalfPreAttackBlast		End		;;; WIZARD BLAST ANIMS MOUNTED ;;;		AnimationState        =  SPECIAL_WEAPON_TWO MOUNTED			StateName = Attacking			Animation				AnimationName		= GUGdfHrs_SKL.GUGdfHrs_SPLD				AnimationMode       = ONCE			End		End			;;; WIZARD BLAST ANIMS ON FOOT ;;;		AnimationState        =  SPECIAL_WEAPON_TWO			StateName = Attacking			Animation				AnimationName       = GUGandalfG_SKL.GUGandalfG_SPCL				AnimationMode       = ONCE			End		End				;;; LIGHTNING CHARGE ANIMS MOUNTED ;;;		AnimationState        =  MOUNTED PACKING_TYPE_1 UNPACKING			StateName = Attacking			Animation = LightningSwordStart				AnimationName           = GUGdfHrs_SKL.GUGdfHrs_SPE1				AnimationMode       = ONCE			End			FXEvent			= Frame:14 Name:FX_GandalfLightningCharge;			FXEvent			= Frame:70 Name:FX_GandalfLightningFizzle			FXEvent			= Frame:14 Name:FX_GandalfLightningSword  FrameStop:70		End			AnimationState        =  MOUNTED PACKING_TYPE_1 PREPARING			StateName = Attacking			Animation = LightningSwordLoop				AnimationName           = GUGdfHrs_SKL.GUGdfHrs_SPE2				AnimationMode       = LOOP			End		End		AnimationState        =  MOUNTED PACKING_TYPE_1 PACKING			StateName = Attacking			Animation = LightningSwordPutAway				AnimationName           = GUGdfHrs_SKL.GUGdfHrs_SPE3				AnimationMode       = ONCE			End		End		;;; LIGHTNING CHARGE ANIMS ON FOOT ;;;		AnimationState        =  PACKING_TYPE_1 UNPACKING			StateName = Attacking			Animation = LightningSwordStart				AnimationName           = GUGandalfG_SKL.GUGandalfG_SPE3				AnimationMode       = ONCE			End			FXEvent			= Frame:14 Name:FX_GandalfLightningCharge;			FXEvent			= Frame:70 Name:FX_GandalfLightningFizzle			FXEvent			= Frame:14 Name:FX_GandalfLightningSword  FrameStop:70		End			AnimationState        =  PACKING_TYPE_1 PREPARING			StateName = Attacking			Animation = LightningSwordLoop				AnimationName           = GUGandalfG_SKL.GUGandalfG_SPE2				AnimationMode       = LOOP			End		End		AnimationState        =  PACKING_TYPE_1 PACKING			StateName = Attacking			Animation = LightningSwordPutAway				AnimationName           = GUGandalfG_SKL.GUGandalfG_SPE1				AnimationMode       = ONCE			End		End		;;; ISTARI LIGHT STAFF WEAPON MOUNTED ;;;		AnimationState        =  MOUNTED SPECIAL_WEAPON_THREE ; FIRING_OR_PREATTACK_C			StateName = Attacking			Animation = StaffLaser				AnimationName           = GUGdfHrs_SKL.GUGdfHrs_SPLG				AnimationMode       = ONCE			End			FXEvent			= Frame:30 Name:FX_GandalfStaffFlare		End		;;; ISTARI LIGHT STAFF WEAPON ON FOOT ;;;		AnimationState        =  SPECIAL_WEAPON_THREE ; FIRING_OR_PREATTACK_C			StateName = Attacking			Animation = StaffLaser				AnimationName           = GUGandalfG_SKL.GUGandalfG_SPCH ; isitari's light?				AnimationMode       = ONCE			End			FXEvent			= Frame:30 Name:FX_GandalfStaffFlare		End				;;; Summoning Shadow Fax ;;;		AnimationState        =  UNPACKING USER_2			StateName = Attacking			Animation				AnimationName		= GUGandalf_SKN.GUGdfHrs_IDLB		; GUGdfHrs_SPCJ does not exist.				AnimationMode       = LOOP			End		End		AnimationState        =  UNPACKING			StateName = Attacking			Animation				AnimationName		= GUGdfHrs_SKL.GUGdfHrs_IDLA		; GUGdfHrs_SPCJ does not exist.				AnimationMode       = ONCE			End		End				;;; Moving Standard Attack Anims ;;;		AnimationState				=	MOUNTED FIRING_OR_PREATTACK_A MOVING			Animation				=	MountedRunAndFire				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_ATRA				AnimationMode		=	LOOP				Distance			=	60			End		End				AnimationState				=	MOUNTED BETWEEN_FIRING_SHOTS_A MOVING			Animation				=	TrotBetweenShotsMoving				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_WLKA				AnimationMode		=	LOOP				Distance			=	30			End		End				;;; Standard Attack Anims ;;;		AnimationState				=	MOUNTED FIRING_OR_PREATTACK_A			Animation				=	MountedSlash				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_ATKA				AnimationMode		=	ONCE				UseWeaponTiming		= Yes			End			Animation				=	MountedStab				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_ATKB				AnimationMode		=	ONCE				UseWeaponTiming		= Yes			End		End										AnimationState        = MOVING FIRING_OR_PREATTACK_A			ShareAnimation		= Yes			Animation           = RunAndFire				AnimationName       = GUGandalfG_SKL.GUGandalfG_ATRA				AnimationMode       = LOOP			End			Flags               = RANDOMSTART  		End				AnimationState        =  FIRING_OR_PREATTACK_A			Animation = StaffSwing				AnimationName           = GUGandalfG_SKL.GUGandalfG_ATKA				AnimationMode       = ONCE				UseWeaponTiming		= Yes			End			Animation = SwordSwing			  AnimationName           = GUGandalfG_SKL.GUGandalfG_ATKB				  AnimationMode       = ONCE			  UseWeaponTiming		= Yes			End			Animation = SpinningSwordStaff			  AnimationName           = GUGandalfG_SKL.GUGandalfG_ATKC				  AnimationMode       = ONCE			  UseWeaponTiming		= Yes			End					End		;;; Moving Anims ;;;				AnimationState				=	MOUNTED TURN_RIGHT_HIGH_SPEED			Animation				=	TurnRight				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_TNR1				AnimationMode		=	LOOP			End;			;ParticleSysBone			=	None CalvaryDustTrails		End				AnimationState				=	MOUNTED TURN_LEFT_HIGH_SPEED 			Animation				=	TurnRight				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_TNL1				AnimationMode		=	LOOP			End;			;ParticleSysBone			=	None CalvaryDustTrails		End				AnimationState				=	MOUNTED TURN_LEFT 			Animation				=	TurnLeft				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_TRNL				AnimationMode		=	LOOP			End;			;ParticleSysBone			=	None CalvaryDustTrails		End		AnimationState				=	MOUNTED TURN_RIGHT 			Animation				=	TurnRight				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_TRNR				AnimationMode		=	LOOP			End;			;ParticleSysBone			=	None CalvaryDustTrails		End		AnimationState				=	MOUNTED MOVING ACCELERATE			Animation				=	Accelerate				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_ACCL				AnimationMode		=	LOOP			End			;ParticleSysBone			=	None CalvaryDustTrails		End		AnimationState				=	MOUNTED MOVING DECELERATE			Animation				=	Decelerate				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_DECL				AnimationMode		=	ONCE				AnimationSpeedFactorRange = 0.6 0.6			End			;ParticleSysBone			=	None CalvaryDustTrails		End		AnimationState				=	MOUNTED MOVING WALKING			Animation				=	Walk				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_WLKA				AnimationMode		=	LOOP			End			Flags					=	RANDOMSTART			;ParticleSysBone			=	None InfantryDustTrails  		End				AnimationState				=	MOUNTED MOVING BACKING_UP			Animation				=	BackingUp				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_BAKA				AnimationMode		=	LOOP			End			Flags					=	RANDOMSTART			;ParticleSysBone			=	None InfantryDustTrails  		End		AnimationState				=	MOUNTED MOVING			Animation				=	RunA				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_RUNA				AnimationMode		=	LOOP			End 			Flags					=	RANDOMSTART			;ParticleSysBone			=	None CalvaryDustTrails  		End								AnimationState        = MOVING WANDER			Animation = Wandering				AnimationName           = GUGandalfG_SKL.GUGandalfG_WLKA ;32				AnimationMode       = LOOP			End		End			AnimationState        = MOVING			Animation = Moving				AnimationName           = GUGandalfG_SKL.GUGandalfG_RUNB ;20				AnimationMode       = LOOP			End			Flags               = RANDOMSTART		End						AnimationState        = MOUNTED LEVELED	USER_1; This state clears itself in 3 of your Earth seconds			Animation = Yippee				AnimationName           = GUGdfHrs_SKL.GUGdfHrs_LVLA				AnimationMode       = ONCE			End			BeginScript				CurDrawableShowSubObject("STAFF_LIGHT")						EndScript								End		AnimationState        = MOUNTED LEVELED	; This state clears itself in 3 of your Earth seconds			Animation = Yippee				AnimationName           = GUGdfHrs_SKL.GUGdfHrs_LVLA				AnimationMode       = ONCE			End		End				; READY IDLE		AnimationState        = MOUNTED EMOTION_ALERT			Animation           = ALERT_1				AnimationName     = GUGdfHrs_SKL.GUGdfHrs_IDLA				AnimationMode     = LOOP			End		End		AnimationState        = EMOTION_ALERT			Animation           = ALERT_1				AnimationName     = GUGandalfG_SKL.GUGandalfG_IDLA				AnimationMode     = ONCE			End			Flags               = RESTART_ANIM_WHEN_COMPLETE ; acts like an idle animation & keeps running the animations.		End		AnimationState        = LEVELED	USER_1; This state clears itself in 3 of your Earth seconds			Animation = Yippee				AnimationName           = GUGandalfG_SKL.GUGandalfG_LVLA				AnimationMode       = ONCE			End			BeginScript				CurDrawableShowSubObject("STAFF_LIGHT")						EndScript								End		AnimationState        = LEVELED	; This state clears itself in 3 of your Earth seconds			Animation = Yippee				AnimationName           = GUGandalfG_SKL.GUGandalfG_LVLA				AnimationMode       = ONCE			End		End				AnimationState				=	MOUNTED SELECTED USER_1			SimilarRestart			=   Yes						StateName				=	AtAttentionIdle			Animation				=	ATNB				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_ATNB				AnimationMode		=	LOOP			End			BeginScript				Prev = CurDrawablePrevAnimationState()				if Prev == "Idle" then CurDrawableSetTransitionAnimState("TRANS_MountedSelect") end				if Prev == "AtAttentionIdle" then CurDrawableSetTransitionAnimState("TRANS_MountedSelect") end			EndScript		End		AnimationState        = MOUNTED RAISING_FLAG			Animation				AnimationName           = GUGdfHrs_SKL.GUGdfHrs_LVLA				AnimationMode       = LOOP			End		End		AnimationState        = MOUNTED EMOTION_CELEBRATING			Animation				AnimationName           = GUGdfHrs_SKL.GUGdfHrs_LVLA				AnimationMode       = LOOP			End		End		AnimationState        = MOUNTED EMOTION_TAUNTING			Animation				AnimationName           = GUGdfHrs_SKL.GUGdfHrs_LVLA				AnimationMode       = LOOP			End		End		AnimationState				=	MOUNTED SELECTED			SimilarRestart			=   Yes						StateName				=	AtAttentionIdle			Animation				=	ATNB				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_ATNB				AnimationMode		=	LOOP			End			BeginScript				Prev = CurDrawablePrevAnimationState()				if Prev == "Idle" then CurDrawableSetTransitionAnimState("TRANS_MountedSelect") end				if Prev == "AtAttentionIdle" then CurDrawableSetTransitionAnimState("TRANS_MountedSelect") end				CurDrawableHideSubObject("STAFF_LIGHT")										EndScript		End		TransitionState				=	TRANS_MountedSelect			Animation				=	ATNA				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_ATNA				AnimationMode		=	ONCE			End		End				TransitionState					=	TRANS_Idle_to_Selected			Animation					=	ATNA				AnimationName			=	GUGandalfG_SKL.GUGandalfG_ATNA				AnimationMode			=	ONCE			End		End				TransitionState					=	TRANS_Selected_To_Idle			Animation					=	ATNE ;ATNC				AnimationName			=	GUGandalfG_SKL.GUGandalfG_ATNE ;C				AnimationMode			=	ONCE			End		End		AnimationState				=	SELECTED USER_1			StateName				=	Selected			SimilarRestart			=   Yes						Animation				=	ATNB							AnimationName		=	GUGandalfG_SKL.GUGandalfG_ATNB				AnimationMode		=	LOOP			End			BeginScript				Prev = CurDrawablePrevAnimationState()				if Prev == "Idle" then CurDrawableSetTransitionAnimState("TRANS_Idle_to_Selected") end			EndScript		End		AnimationState        = RAISING_FLAG			Animation				AnimationName           = GUGandalfG_SKL.GUGandalfG_LVLA				AnimationMode       = LOOP			End		End		AnimationState        = EMOTION_CELEBRATING			Animation				AnimationName           = GUGandalfG_SKL.GUGandalfG_LVLA				AnimationMode       = LOOP			End		End		AnimationState        = EMOTION_TAUNTING			Animation				AnimationName           = GUGandalfG_SKL.GUGandalfG_LVLA				AnimationMode       = LOOP			End		End		AnimationState				=	SELECTED			StateName				=	Selected			SimilarRestart			=   Yes						Animation				=	ATNB							AnimationName		=	GUGandalfG_SKL.GUGandalfG_ATNB				AnimationMode		=	LOOP			End			BeginScript				Prev = CurDrawablePrevAnimationState()				if Prev == "Idle" then CurDrawableSetTransitionAnimState("TRANS_Idle_to_Selected") end				CurDrawableHideSubObject("STAFF_LIGHT")						EndScript		End				AnimationState = MOUNTED HIT_REACTION HIT_LEVEL_1			Animation = Hit_Level_1_a				AnimationName = GUGdfHrs_SKL.GUGdfHrs_HITA				AnimationMode = ONCE			End		End		AnimationState = HIT_REACTION HIT_LEVEL_1			Animation = Hit_Level_1_a				AnimationName = GUGandalfG_SKL.GUGandalfG_HITA				AnimationMode = ONCE			End		End				AnimationState = MOUNTED			StateName = Idle			Animation	=	IdleA				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_IDLA				AnimationPriority	=	30				AnimationMode		=	ONCE				AnimationBlendTime	=	15			End			Animation				=	IdleC				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_IDLC				AnimationMode		=	ONCE				AnimationBlendTime	=	15			End			Flags					=	RESTART_ANIM_WHEN_COMPLETE		End				AnimationState        =  USER_1			StateName = user_1_idle			Animation = Foot_IDLB ; Bored Idle				AnimationName       = GUGandalfG_SKL.GUGandalfG_IDLB				AnimationMode       = ONCE				AnimationPriority   = 2			End			Animation = Foot_IDLC ; Bored Fidget				AnimationName       = GUGandalfG_SKL.GUGandalfG_IDLC				AnimationMode       = ONCE				AnimationPriority   = 2			End			Animation = Foot_IDLD ; Bored Fidget				AnimationName       = GUGandalfG_SKL.GUGandalfG_IDLD				AnimationMode       = ONCE				AnimationPriority   = 1			End			Animation = Foot_IDLE ; Bored Fidget				AnimationName       = GUGandalfG_SKL.GUGandalfG_IDLE				AnimationMode       = ONCE				AnimationPriority   = 2			End			;Animation = Foot_IDLF ; Bored Fidget			;	AnimationName       = GUGandalfG_SKL.GUGandalfF_IDLF	 does not exist...			;	AnimationMode       = ONCE			;	AnimationPriority   = 1			;End						BeginScript				Prev = CurDrawablePrevAnimationState()				if Prev == "Selected" then CurDrawableSetTransitionAnimState("TRANS_Selected_To_Idle") end				CurDrawableShowSubObject("STAFF_LIGHT")						EndScript					End	End	    #include "..\..\..\includes\StunDrawModuleSmall.inc";	Draw = W3DScriptedModelDraw ModuleTag_ShieldBubble;		DefaultModelConditionState;			Model = None;		End;		;		ModelConditionState = USER_3 ; HERO -- not using HERO anymore since HERO is used for Gandalf White;			Model = GUGANDALFCRSTL;;			ParticleSysBone     = ROOTTRANSFORM GandalfCrystalSphere FollowBone:Yes;			ParticleSysBone     = ROOTTRANSFORM GandalfBeamGlow2 FollowBone:Yes;		End;	End;	Draw = W3DLightDraw ModuleTag_DrawLight;		Ambient = R:25 G:25 B:25;		Diffuse = R:128 G:128 B:175;		Radius = 75;		Intensity = 75;		AttachToBoneInAnotherModule = STAFF;	End	Draw = W3DScriptedModelDraw ModuleTag_LightController		DefaultModelConditionState			Model = None		End				ModelConditionState = USER_1			Model = Invisible            Shadow = SHADOW_ADDITIVE_DECAL_DYNAMIC            ShadowSizeX = 200;            ShadowSizeY = 200;            ShadowTexture = EXGandalfGlow;			ShadowOpacityStart = 0			ShadowOpacityFadeInTime = 1000			ShadowOpacityPeak = 255			ShadowOpacityFadeOutTime = 1000			ShadowOpacityEnd = 0		End		IdleAnimationState;			BeginScript;				CurDrawableHideModule("ModuleTag_DrawLight");			EndScript		End		AnimationState = USER_1;			BeginScript;				CurDrawableShowModule("ModuleTag_DrawLight");			EndScript		End;        AttachToBoneInAnotherModule = STAFF	End;	Draw = W3DScriptedModelDraw ModuleTag_PermanentDecal;		OkToChangeModelColor = yes;		;		DefaultModelConditionState;			Model = Invisible;;			; Give hero a permanent selection decal look-alike;			Shadow = SHADOW_ALPHA_DECAL;			ShadowSizeX = 40;;			ShadowSizeY = 40;;			ShadowTexture = decal_hero_good;;			ShadowOpacityPeak = 150 ; opacity between 0 and 255 here, so 150 is about 59%;;			; That's the corresponding selection decal setup in ExperienceLevels.ini.;			; This will be drawn on top of the permanent one here.;			;Texture					=	decal_hero_good		; see ShadowTexture;			;Style						=	SHADOW_ALPHA_DECAL	; see Shadow;			;OpacityMin					=	50%					; see ShadowOpacityPeak;			;OpacityMax					=	100%;			;MinRadius					=	40					; see ShadowSizeX/Y;			;MaxRadius					=	200	;			;MaxSelectedUnits			=	40;		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 = MOVING	    End	End			; ***DESIGN parameters ***	Side			= Men	EditorSorting	= UNIT	ThreatLevel		= GANDALF_THREAT_LEVEL	ThingClass		= CHARACTER_UNIT	;//DisplayMeleeDamage = GANDALF_THE_GREY_DAMAGE		HeroSortOrder = 10	LiveCameraOffset = X:-112 Y:81 Z:57	LiveCameraPitch = 25.0		IsTrainable			= Yes	BuildCost			= GANDALF_THE_WHITE_BUILDCOST	BuildTime			= GANDALF_THE_WHITE_BUILDTIME		ShockwaveResistance = SHOCKWAVE_RESISTANCE_STRONG			TransportSlotCount	= TRANSPORTSLOTCOUNT_HERO	CommandSet			= GondorGandalfCommandSet	CommandPoints		= 75		WeaponSet		Conditions = None 		Weapon = PRIMARY GandalfSword	End	WeaponSet		Conditions = MOUNTED 		Weapon = PRIMARY GandalfSwordMounted	End	ArmorSet		Conditions      = None		Armor           = HeroArmor		DamageFX        = NormalDamageFX	End			VisionRange					= VISION_HERO_STANDARD					ShroudClearingRange			= SHROUD_CLEAR_HERO	MaxVisionBonusPercent		= 300%	VisionBonusTestRadius		= 200	VisionBonusPercentPerFoot	= 1.0%	BountyValue				= GONDOR_GANDALFWHITE_BOUNTY_VALUE	DisplayName				= OBJECT:GandalfTheWhite	RecruitText				= CONTROLBAR:GandalfTheWhiteRecruit	ReviveText				= CONTROLBAR:GandalfTheWhiteRevive	Hotkey					= CONTROLBAR:GandalfTheWhiteHotkey		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				= RohirrimCrush	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	; *** AUTO RESOLVE DATA *** 	AutoResolveUnitType = AutoResolveUnit_Hero	AutoResolveCombatChain = AutoResolve_HeroCombatChain	AutoResolveBody = AutoResolve_GandalfBody		AutoResolveWeapon		Weapon = AutoResolve_GandalfWeapon	End	AutoResolveArmor		Armor = AutoResolve_GandalfArmor	End	;AutoResolveLeadership = AutoResolve_GandalfBonus		; *** AUDIO Parameters ***;	VoiceAttack				= GandalfVoiceAttack	VoiceAttackCharge		= GandalfVoiceAttackCharge	VoiceAttackMachine		= GandalfVoiceAttack	VoiceAttackStructure	= GandalfVoiceAttack	;VoiceCreated			= GandalfVoiceSalute		;this conflicts with his respawn dialogue line -- rehooked to spawn FX	;VoiceFullyCreated 		= GandalfVoiceSalute		;this conflicts with his respawn dialogue line -- rehooked to spawn FX	VoiceFear 				= GandalfVoiceHelpMe	VoiceMove				= GandalfVoiceMove	VoiceMoveToCamp			= GandalfVoiceMoveCamp	VoiceMoveWhileAttacking	= GandalfVoiceDisengage	VoicePriority			= 96	VoiceRetreatToCastle	= GandalfVoiceRetreat	VoiceSelect				= GandalfVoiceSelectMS	VoiceSelectBattle 		= GandalfVoiceSelectBattle	VoiceGuard				= GandalfVoiceMove		SoundImpact				= ImpactHorse;GandalfVoiceJoinAnybody;GandalfVoiceJoinAragorn;GandalfVoiceJoinGimli;GandalfVoiceJoinHobbit;GandalfVoiceJoinLegolas	UnitSpecificSounds		VoiceGarrison	= GandalfVoiceGarrison		VoiceEnterUnitElvenTransportShip	= GandalfVoiceMove		VoiceInitiateCaptureBuilding		= GandalfVoiceMove	End	ClientBehavior = ModelConditionSoundSelectorClientBehavior ModuleTag_MCSoundSelector		SoundState = MOUNTED			VoiceMove		= GandalfVoiceMoveMounted			VoiceSelect		= GandalfVoiceSelectMountedMS		End	End	CrowdResponseKey = GoodMen    #include "..\..\..\includes\StandardUnitEvaEvents.inc"	EvaEventDieOwner		= GandalfDie			;Eva event to trigger on unit's death. NOTICE THAT this is only for permanent deaths	Behavior = LargeGroupAudioUpdate ModuleTag_LGAU			; Tie into LargeGroupAudio system		Key = Humanoid_Male Man Man_Male Unit Infantry Hero		;UnitWeight = 2	End	ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior		MaxUpdateRangeCap = 800		AnimationSound = Sound:FootstepDirtA			Animation:GUGandalfG_SKL.GUGandalfG_RUNA		Frames:10 20		AnimationSound = Sound:FootstepDirtA			Animation:GUGandalfG_SKL.GUGandalfG_RUNB		Frames:10 22 33 45		AnimationSound = Sound:BodyFallGenericNoArmor		Animation:GUGandalfG_SKL.GUGandalfG_DIEB		Frames:63		AnimationSound = Sound:BodyFallGenericNoArmor		Animation:GUGandalfG_SKL.GUGandalfG_LNDA		Frames:2		AnimationSound = Sound:HorseMoveFootsteps			Animation:GUGdfHrs_SKL.GUGdfHrs_ACCL		Frames:15 32		AnimationSound = Sound:HorseMoveFootsteps			Animation:GUGdfHrs_SKL.GUGdfHrs_RUNA		Frames:0		AnimationSound = Sound:HorseMoveFootsteps			Animation:GUGdfHrs_SKL.GUGdfHrs_TNL1		Frames:0		AnimationSound = Sound:HorseMoveFootsteps			Animation:GUGdfHrs_SKL.GUGdfHrs_TNR1		Frames:0		AnimationSound = Sound:HorseWhinny50Percent		Animation:GUGdfHrs_SKL.GUGdfHrs_IDLC		Frames:0		AnimationSound = Sound:HorseWhinnyForEowynSmite		Animation:GUGdfHrs_SKL.GUGdfHrs_LVLA		Frames:64		AnimationSound = Sound:HorseWhinnyForEowynSmite		Animation:GUGdfHrs_SKL.GUGdfHrs_SPLA		Frames:74		AnimationSound = Sound:BodyFallGenericNoArmor		Animation:GUGdfHrs_SKL.GUGdfHrs_DIEA		Frames:2 42		AnimationSound = Sound:HorseDieForHero			Animation:GUGdfHrs_SKL.GUGdfHrs_DIEA		Frames:1	End	; *** ENGINEERING Parameters ***	RadarPriority		= UNIT	KindOf				= HERO HEAVY_MELEE_HITTER PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY PATH_THROUGH_EACH_OTHER SCORE ATTACK_NEEDS_LINE_OF_SIGHT NOTIFY_OF_PREATTACK ARMY_SUMMARY SCARY GANDALF	PathfindDiameter	= 40.0		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 = AttributeModifierUpgrade ModuleTag_GandalfWhiteBonus;		TriggeredBy = Upgrade_GandalfWhite;		AttributeModifier = SpellBookGandalfWhite;	End	Body = RespawnBody ModuleTag_RespawnBody		CheerRadius 			= EMOTION_CHEER_RADIUS		MaxHealth         		= GANDALF_THE_WHITE_HEALTH	;BALANCE Eomer Health		PermanentlyKilledByFilter	= NONE		;Who kills me permanently?   		DodgePercent      		= HERO_DODGE_PERCENT	End	Behavior = RespawnUpdate ModuleTag_RespawnUpdate		DeathAnim				= DYING ;STUNNED			;Model condition to play when killed-to-respawn		DeathFX				= FX_GandalfDieToRespawn	;FXList to play when killed-to-respawn		DeathAnimationTime		= 5367 ;1133			;How long DeathAnim will take.		InitialSpawnFX			= FX_GandalfInitialSpawn		RespawnAnim				= LEVELED				;Animation to play when respawning.		RespawnFX				= FX_GandalfRespawn		;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				= HIGandalf_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:1500		Time:90000		Health:100%		;DEFAULT VALUES	End	Behavior = AutoHealBehavior ModuleTag_GandalfHealing		StartsActive = Yes		HealingAmount = HERO_HEAL_AMOUNT		HealingDelay = 1000		StartHealingDelay = HERO_HEAL_DELAY		HealOnlyIfNotInCombat = Yes	End		Behavior = NotifyTargetsOfImminentProbableCrushingUpdate ModuleTag_NotifyCrushScan	End	Behavior = StancesBehavior ModuleTag_StancesBehavior        StanceTemplate = Hero    End			#include "..\..\..\includes\CaptureBuilding.inc"		Behavior = AIUpdateInterface ModuleTag_04		AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS		AILuaEventsList				=	GandalfFunctions	End	Behavior = EmotionTrackerUpdate	Module_EmotionTracker		TauntAndPointDistance				= 300		TauntAndPointUpdateDelay			= 10000		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		LocomotorSet		Locomotor = HeroHumanLocomotor		Condition = SET_NORMAL 		Speed     = NORMAL_GOOD_HERO_SPEED	End	LocomotorSet		Locomotor = HeroHorseLocomotor		Condition = SET_MOUNTED 		Speed     = NORMAL_CAVALRY_HORDE_SPEED	End			Behavior = PhysicsBehavior ModuleTag_05		GravityMult = 1.0		ShockStandingTime = 3800	;msec	End 		Behavior = SlowDeathBehavior ModuleTag_06		DeathTypes = ALL -KNOCKBACK		SinkDelay = 3000		SinkRate = 0.40     ; in Dist/Sec		DestructionDelay = 8000		Sound = INITIAL GandalfVoiceDie		;GandalfDie	End		Behavior = SquishCollide ModuleTag_07		;nothing	End	Behavior = SlowDeathBehavior ModuleTag_08		; Same as normal death, but no sound (sound already played by SoundImpact = ... )		DeathTypes = NONE +KNOCKBACK		SinkDelay = 3000		SinkRate = 0.40     ; in Dist/Sec		DestructionDelay = 8000	End	Behavior = OCLSpecialPower ModuleTag_09		SpecialPowerTemplate = SuperweaponPartTheHeavens		OCL                  = SUPERWEAPON_PartTheHeavens	End		Behavior = AutoAbilityBehavior ModuleTag_AutoAbilityBehavior	End			Behavior = HitReactionBehavior HitReactionBehaviorModuleTag		HitReactionLifeTimer1 = 2000 ; level 1 (light  damage)  hit reaction animations in frames (5 per sec)		HitReactionThreshold1 = 5.0   ; level 1 (light  damage) threshold trigger	End	;------- ISTARI WEAPON --------------------------------------------------------------------------------	Behavior = UnpauseSpecialPowerUpgrade ModuleTag_IstariLightEnabler		SpecialPowerTemplate = SpecialAbilityIstariLight		TriggeredBy = Upgrade_GandalfIstariLight	End	Behavior = SpecialPowerModule ModuleTag_IstariLightPower                      		SpecialPowerTemplate		= SpecialAbilityIstariLight		UpdateModuleStartsAttack	= Yes		StartsPaused			= Yes		InitiateSound			= GandalfVoiceAttackIstariLight	;this plays when he targets, not when he fires	End	Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_IstariLightUpdate		SpecialPowerTemplate    = SpecialAbilityIstariLight		SkipContinue			= Yes		UnpackTime              = 2000  		PreparationTime         = 1   		PersistentPrepTime      = 2000 		PackTime                = 500		AwardXPForTriggering    = 0		StartAbilityRange		= GANDALF_PHASER_CAST_RANGE ; Note: This has to be smaller than the weapon range or it'll never succeed		ApproachRequiresLOS		= Yes				SpecialWeapon			= GandalfStaffWeapon		MustFinishAbility		= Yes		WhichSpecialWeapon		= 3		BusyForDuration			= 2500	End			;------- MOUNTED SPECIAL ABILITY --------------------------------------------------------------------------------	Behavior = UnpauseSpecialPowerUpgrade ModuleTag_HorseEnabler		SpecialPowerTemplate	= SpecialAbilityToggleMounted		TriggeredBy				= Upgrade_Shadowfax	End 	Behavior = SpecialPowerModule ModuleTag_HorseToggleStarter                       		SpecialPowerTemplate		= SpecialAbilityToggleMounted 		UpdateModuleStartsAttack	= Yes 		StartsPaused				= Yes 	End	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_HorseToggle 		SpecialPowerTemplate    = SpecialAbilityToggleMounted		UnpackTime              = 2000 		PreparationTime         = 1   		PersistentPrepTime      = 250 		PackTime                = 2000  		OpacityTarget			= .3		; How see-thru to be at peak of change   		AwardXPForTriggering    = 0	End		;------- WORD OF POWER (BLUE RING BLAST) SPELL --------------------------------------------------------------------------------	Behavior = UnpauseSpecialPowerUpgrade ModuleTag_WordEnabler		SpecialPowerTemplate = SpecialAbilityWordOfPower		TriggeredBy = Upgrade_GandalfWordOfPower	End	Behavior = SpecialPowerModule ModuleTag_WordStarter       		SpecialPowerTemplate      = SpecialAbilityWordOfPower		UpdateModuleStartsAttack  = Yes		StartsPaused		  	  = Yes	End	Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_WordWeaponFireUpdate   		SpecialPowerTemplate    = SpecialAbilityWordOfPower		WhichSpecialWeapon		= 1		SkipContinue			= Yes		UnpackTime              = 1700 		PackTime                = 1			FreezeAfterTriggerDuration = 2500 ; Hold AI for this long after we fire.				AwardXPForTriggering    = 0				StartAbilityRange		= 80.0				SpecialWeapon			= GandalfWordOfPower	End	;------- WIZARD BLAST SPELL --------------------------------------------------------------------------------	Behavior = SpecialPowerModule ModuleTag_BlastStarter                      		SpecialPowerTemplate		= SpecialAbilityWizardBlast		UpdateModuleStartsAttack	= Yes		StartsPaused				= No		InitiateSound				= GandalfVoiceAttackWizardBlast	;this plays when he targets, not when he fires	End	Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_WizardBlastWeaponFireUpdate		SpecialPowerTemplate    = SpecialAbilityWizardBlast		WhichSpecialWeapon		= 2		SkipContinue			= Yes		UnpackTime              = 900		PreparationTime         = 1   		PersistentPrepTime      = 1500 		PackTime                = 1100 		AwardXPForTriggering    = 0				StartAbilityRange		= 80.0		MustFinishAbility		= Yes		SpecialWeapon			= GandalfWizardBlast										End		;------- LIGHTNING SWORD SPELL --------------------------------------------------------------------------------	Behavior = UnpauseSpecialPowerUpgrade ModuleTag_LightningEnabler		SpecialPowerTemplate = SpecialAbilityLightningSword		TriggeredBy = Upgrade_GandalfLightningSword	End	Behavior = SpecialPowerModule ModuleTag_11                      		SpecialPowerTemplate		= SpecialAbilityLightningSword		UpdateModuleStartsAttack	= Yes		StartsPaused			= Yes		InitiateSound			= GandalfVoiceAttackLightningSword	;this plays when he targets, not when he fires	End	Behavior = ArrowStormUpdate ModuleTag_12                		SpecialPowerTemplate    = SpecialAbilityLightningSword		StartAbilityRange       = 275.0		UnpackingVariation		= 1				UnpackTime              = 2500 ; Pull out arrow		PreparationTime         = 1 ; Quick shot		PersistentPrepTime      = 500 ; looping the quick shot		PackTime                = 1500 ; back to idle		ApproachRequiresLOS     = Yes ; required so that it doesn't shoot through walls		AwardXPForTriggering    = 0				 ActiveLoopSound		= GandalfLightningLoop  ; Sound loops entire time ability is actively firing		;Specific to ArrowStorm		WeaponTemplate  = GandalfLightningSwordBlastWeapon		TargetRadius    = 120		ShotsPerTarget  = 1		ShotsPerBurst   = 1		MaxShots        = 11  ; will double up if run out of targets	End			Behavior = ModelConditionUpgrade ModuleTag_TurnWhite		TriggeredBy			= Upgrade_GandalfWhite		AddConditionFlags	= USER_2	End	;///////////////////	; AISpecialPowers	;///////////////////		Behavior = AISpecialPowerUpdate GondorFighterHordeStanceBattle		CommandButtonName = Command_SetStanceBattle		SpecialPowerAIType = AI_SPECIAL_POWER_STANCEBATTLE	End	Behavior = AISpecialPowerUpdate GondorFighterHordeStanceAggressive		CommandButtonName = Command_SetStanceAggressive		SpecialPowerAIType = AI_SPECIAL_POWER_STANCEAGGRESSIVE	End	Behavior = AISpecialPowerUpdate GondorFighterHordeHoldGround		CommandButtonName = Command_SetStanceHoldGround		SpecialPowerAIType = AI_SPECIAL_POWER_STANCEHOLDGROUND	End	Behavior = AISpecialPowerUpdate GandalfWordOfPowerAI		CommandButtonName = Command_SpecialAbilityWordOfPower		SpecialPowerAIType = AI_SPECIAL_POWER_BASIC_SELF_BUFF		SpecialPowerRadius = 250	End		Behavior = AISpecialPowerUpdate GandalfToggleMountedAI		CommandButtonName = Command_GandalfShadowfax		SpecialPowerAIType = AI_SPECIAL_POWER_TOGGLE_MOUNTED	End	Behavior = AISpecialPowerUpdate GandalfWizardBlastAI		CommandButtonName = Command_SpecialAbilityWizardBlast		SpecialPowerAIType = AI_SPECIAL_POWER_GANDALF_WIZARD_BLAST		SpecialPowerRadius = 100	End		Behavior = AISpecialPowerUpdate GandalfIstariLightAI		CommandButtonName = Command_GondorGandalfIstariLight		SpecialPowerAIType = AI_SPECIAL_POWER_ENEMY_TYPE_KILLER	End	Behavior = AISpecialPowerUpdate GandalfLightningSwordAI		CommandButtonName = Command_GondorGandalfLightningSword		SpecialPowerAIType = AI_SPECIAL_POWER_RANGED_AOE_ATTACK		SpecialPowerRadius = 100	End	Geometry			= CYLINDER	GeometryMajorRadius = 8.0	GeometryHeight		= 25	GeometryIsSmall		= Yes		Shadow				= SHADOW_DECAL	ShadowSizeX			= 20	ShadowSizeY			= 20	ShadowTexture		= ShadowIEnd;------------------------------------------------------------------------------ChildObject GondorGandalfWhite GondorGandalf	Draw = W3DScriptedModelDraw ModuleTag_01		GlowEnabled = No;		GlowEmissive = No;				OkToChangeModelColor = Yes				StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD		ExtraPublicBone = STAFF		ExtraPublicBone = B_SWORDBONE		ExtraPublicBone = PASSENGERBONE		DependencySharedModelFlags = TURN_LEFT_HIGH_SPEED TURN_RIGHT_HIGH_SPEED MOVING ACCELERATE DECELERATE TURN_LEFT TURN_RIGHT ATTACKING BACKING_UP				;;; MODEL STATES ;;;		DefaultModelConditionState ;This gandalf is white to start out with			Model               = GUGandalf_SKN			WeaponLaunchBone    = TERTIARY STAFF 		End		;;; Mounted version of Gandalf White ;;;		ModelConditionState		= MOUNTED			Model               = GUGdfHrs_SKN_M			WeaponLaunchBone    = PRIMARY PASSENGERBONE			WeaponLaunchBone    = TERTIARY STAFF		End				ModelConditionState = WORLD_BUILDER			Model = None		End				IdleAnimationState			StateName = Idle			Animation = Foot_IDLB ; Bored Idle				AnimationName       = GUGandalfG_SKL.GUGandalfG_IDLB				AnimationMode       = ONCE				AnimationPriority   = 20			End			Animation = Foot_IDLC ; Bored Fidget				AnimationName       = GUGandalfG_SKL.GUGandalfG_IDLC				AnimationMode       = ONCE				AnimationPriority   = 2			End			Animation = Foot_IDLD ; Bored Fidget				AnimationName       = GUGandalfG_SKL.GUGandalfG_IDLD				AnimationMode       = ONCE				AnimationPriority   = 1			End			Animation = Foot_IDLE ; Bored Fidget				AnimationName       = GUGandalfG_SKL.GUGandalfG_IDLE				AnimationMode       = ONCE				AnimationPriority   = 2			End			;Animation = Foot_IDLF ; Bored Fidget			;	AnimationName       = GUGandalfG_SKL.GUGandalfF_IDLF	does not exist...			;	AnimationMode       = ONCE			;	AnimationPriority   = 1			;End						BeginScript				Prev = CurDrawablePrevAnimationState()				if Prev == "Selected" then CurDrawableSetTransitionAnimState("TRANS_Selected_To_Idle") end				CurDrawableHideSubObject("STAFF_LIGHT")						EndScript								End		; --- stunned anims  Which must go before deaths in case we are dying in the air.  Plus, DyingSplatted must of course be before Dying		AnimationState				=	MOUNTED STUNNED_FLAILING 			Animation				=	JustDie				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_FLYB				AnimationMode		=	LOOP			End			Flags					=	RANDOMSTART		End				AnimationState				=	MOUNTED DYING SPLATTED			Animation				=	Land				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_LNDA				AnimationMode		=	ONCE			End		End				AnimationState				=	MOUNTED DYING				Animation				=	JustDie				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_DIEA				AnimationMode		=	ONCE			End		End				AnimationState				=	MOUNTED STUNNED_STANDING_UP			Animation				=	StandUp				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_GTPA				AnimationMode		=	ONCE			End		End		AnimationState				=	MOUNTED STUNNED			Animation				=	Land				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_LNDA				AnimationMode		=	ONCE			End		End						AnimationState      = STUNNED_FLAILING 			Animation = StunnedFlail				AnimationName         = GUGandalfG_SKL.GUGandalfG_FLYA				AnimationMode     = LOOP			End		End				AnimationState      = DYING SPLATTED			Animation = Stunned				AnimationName         = GUGandalfG_SKL.GUGandalfG_LNDA				AnimationMode     = ONCE			End;      ;ParticleSysBone   = None GandalfIllumination FollowBone:yes FXTrigger:NONE Persist:KILL PersistID:100		End								AnimationState        = DYING AFLAME			Animation = DieAflame				AnimationName           = GUGandalfG_SKL.GUGandalfG_MFDA				AnimationMode       = LOOP			End		End				AnimationState        = DYING			Animation = Die				AnimationName           = GUGandalfG_SKL.GUGandalfG_DIEB				AnimationMode       = ONCE			End;      ;ParticleSysBone     = None GandalfIllumination FollowBone:yes FXTrigger:NONE Persist:KILL PersistID:100		End				AnimationState        = STUNNED_STANDING_UP			Animation           = GUGandalfG_GTPA				AnimationName     = GUGandalfG_SKL.GUGandalfG_GTPA				AnimationMode     = ONCE			End		End				AnimationState      = STUNNED			Animation = Stunned				AnimationName         = GUGandalfG_SKL.GUGandalfG_LNDA				AnimationMode     = ONCE			End;      ;ParticleSysBone   = None GandalfIllumination FollowBone:yes FXTrigger:NONE Persist:KILL PersistID:100		End		AnimationState        =  PASSENGER EATING			StateName = BeingEaten			Animation				AnimationName           = GUGandalfG_SKL.GUGandalfG_EATA				AnimationMode       = ONCE				AnimationBlendTime	=	4			End		End			AnimationState        =  PASSENGER		StateName = BeingEaten			Animation				AnimationName           = GUGandalfG_SKL.GUGandalfG_FLLA				AnimationMode       = LOOP				AnimationBlendTime	=	4			End		End			;;; WORD OF POWER ANIMS MOUNTED ;;;		AnimationState        =  SPECIAL_WEAPON_ONE MOUNTED			StateName = Attacking			Animation				AnimationName		= GUGdfHrs_SKL.GUGdfHrs_SPLA				AnimationMode       = ONCE				AnimationBlendTime	=	4			End			FXEvent			= Frame:5 Name:FX_GandalfPreAttackBlast					End			;;; WORD OF POWER ANIMS ON FOOT ;;;		AnimationState        =  SPECIAL_WEAPON_ONE			StateName = Attacking			Animation				AnimationName           = GUGandalfG_SKL.GUGandalfG_SPCK				AnimationMode       = ONCE			End			FXEvent			= Frame:5 Name:FX_GandalfPreAttackBlast		End		;;; WIZARD BLAST ANIMS MOUNTED ;;;		AnimationState        =  SPECIAL_WEAPON_TWO MOUNTED			StateName = Attacking			Animation				AnimationName		= GUGdfHrs_SKL.GUGdfHrs_SPLD				AnimationMode       = ONCE			End		End			;;; WIZARD BLAST ANIMS ON FOOT ;;;		AnimationState        =  SPECIAL_WEAPON_TWO			StateName = Attacking			Animation				AnimationName       = GUGandalfG_SKL.GUGandalfG_SPCL				AnimationMode       = ONCE			End		End				;;; LIGHTNING CHARGE ANIMS MOUNTED ;;;		AnimationState        =  MOUNTED PACKING_TYPE_1 UNPACKING			StateName = Attacking			Animation = LightningSwordStart				AnimationName           = GUGdfHrs_SKL.GUGdfHrs_SPE1				AnimationMode       = ONCE			End			FXEvent			= Frame:14 Name:FX_GandalfLightningCharge			FXEvent			= Frame:70 Name:FX_GandalfLightningFizzle			FXEvent			= Frame:14 Name:FX_GandalfLightningSword  FrameStop:70		End			AnimationState        =  MOUNTED PACKING_TYPE_1 PREPARING			StateName = Attacking			Animation = LightningSwordLoop				AnimationName           = GUGdfHrs_SKL.GUGdfHrs_SPE2				AnimationMode       = LOOP			End		End		AnimationState        =  MOUNTED PACKING_TYPE_1 PACKING			StateName = Attacking			Animation = LightningSwordPutAway				AnimationName           = GUGdfHrs_SKL.GUGdfHrs_SPE3				AnimationMode       = ONCE			End		End		;;; LIGHTNING CHARGE ANIMS ON FOOT ;;;		AnimationState        =  PACKING_TYPE_1 UNPACKING			StateName = Attacking			Animation = LightningSwordStart				AnimationName           = GUGandalfG_SKL.GUGandalfG_SPE3				AnimationMode       = ONCE			End			FXEvent			= Frame:14 Name:FX_GandalfLightningCharge			FXEvent			= Frame:70 Name:FX_GandalfLightningFizzle			FXEvent			= Frame:14 Name:FX_GandalfLightningSword  FrameStop:70		End			AnimationState        =  PACKING_TYPE_1 PREPARING			StateName = Attacking			Animation = LightningSwordLoop				AnimationName           = GUGandalfG_SKL.GUGandalfG_SPE2				AnimationMode       = LOOP			End		End		AnimationState        =  PACKING_TYPE_1 PACKING			StateName = Attacking			Animation = LightningSwordPutAway				AnimationName           = GUGandalfG_SKL.GUGandalfG_SPE1				AnimationMode       = ONCE			End		End		;;; ISTARI LIGHT STAFF WEAPON MOUNTED ;;;		AnimationState        =  MOUNTED SPECIAL_WEAPON_THREE ; FIRING_OR_PREATTACK_C			StateName = Attacking			Animation = StaffLaser				AnimationName           = GUGdfHrs_SKL.GUGdfHrs_SPLG				AnimationMode       = ONCE			End			FXEvent			= Frame:30 Name:FX_GandalfStaffFlare		End		;;; ISTARI LIGHT STAFF WEAPON ON FOOT ;;;		AnimationState        =  SPECIAL_WEAPON_THREE ; FIRING_OR_PREATTACK_C			StateName = Attacking			Animation = StaffLaser				AnimationName           = GUGandalfG_SKL.GUGandalfG_SPCH ; isitari's light?				AnimationMode       = ONCE			End			FXEvent			= Frame:30 Name:FX_GandalfStaffFlare		End				;;; Summoning Shadow Fax ;;;		AnimationState        =  UNPACKING			StateName = Attacking			Animation				AnimationName		= GUGdfHrs_SKL.GUGdfHrs_SPCJ				AnimationMode       = ONCE			End		End		AnimationState        = MOUNTED MOVING FIRING_OR_PREATTACK_A			ShareAnimation		= Yes			Animation           = MountedRunAndFire				AnimationName       = GUGdfHrs_SKL.GUGdfHrs_ATRA				AnimationMode       = LOOP			End			Flags               = RANDOMSTART  		End		;;; Standard Attack Anims ;;;		AnimationState				=	MOUNTED FIRING_OR_PREATTACK_A			Animation				=	MountedSlash				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_ATKA				AnimationMode		=	ONCE				UseWeaponTiming		= Yes			End			Animation				=	MountedStab				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_ATKB				AnimationMode		=	ONCE				UseWeaponTiming		= Yes			End		End				AnimationState        =  FIRING_OR_PREATTACK_A			Animation = StaffSwing				AnimationName           = GUGandalfG_SKL.GUGandalfG_ATKA				AnimationMode       = ONCE				UseWeaponTiming		= Yes			End			Animation = SwordSwing			  AnimationName           = GUGandalfG_SKL.GUGandalfG_ATKB				  AnimationMode       = ONCE			  UseWeaponTiming		= Yes			End			Animation = SpinningSwordStaff			  AnimationName           = GUGandalfG_SKL.GUGandalfG_ATKC				  AnimationMode       = ONCE			  UseWeaponTiming		= Yes			End					End		;;; Moving Anims ;;;		AnimationState				=	MOUNTED TURN_RIGHT_HIGH_SPEED			Animation				=	TurnRight				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_TNR1				AnimationMode		=	LOOP			End;			;ParticleSysBone			=	None CalvaryDustTrails		End				AnimationState				=	MOUNTED TURN_LEFT_HIGH_SPEED 			Animation				=	TurnRight				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_TNL1				AnimationMode		=	LOOP			End;			;ParticleSysBone			=	None CalvaryDustTrails		End				AnimationState				=	MOUNTED TURN_LEFT 			Animation				=	TurnLeft				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_TRNL				AnimationMode		=	LOOP			End;			;ParticleSysBone			=	None CalvaryDustTrails		End		AnimationState				=	MOUNTED TURN_RIGHT 			Animation				=	TurnRight				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_TRNR				AnimationMode		=	LOOP			End;			;ParticleSysBone			=	None CalvaryDustTrails		End		AnimationState				=	MOUNTED MOVING ACCELERATE			Animation				=	Accelerate				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_ACCL				AnimationMode		=	LOOP			End			;ParticleSysBone			=	None CalvaryDustTrails		End		AnimationState				=	MOUNTED MOVING DECELERATE			Animation				=	Decelerate				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_DECL				AnimationMode		=	ONCE				AnimationSpeedFactorRange = 0.6 0.6			End			;ParticleSysBone			=	None CalvaryDustTrails		End		AnimationState				=	MOUNTED MOVING WALKING			Animation				=	Walk				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_WLKA				AnimationMode		=	LOOP			End			Flags					=	RANDOMSTART			;ParticleSysBone			=	None InfantryDustTrails  		End				AnimationState				=	MOUNTED MOVING BACKING_UP			Animation				=	BackingUp				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_BAKA				AnimationMode		=	LOOP			End			Flags					=	RANDOMSTART			;ParticleSysBone			=	None InfantryDustTrails  		End		AnimationState				=	MOUNTED MOVING			Animation				=	RunA				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_RUNA				AnimationMode		=	LOOP			End 			Flags					=	RANDOMSTART			;ParticleSysBone			=	None CalvaryDustTrails  		End				AnimationState        = MOVING WANDER			Animation = Wandering				AnimationName           = GUGandalfG_SKL.GUGandalfG_WLKA ;32				AnimationMode       = LOOP			End		End			AnimationState        = MOVING			Animation = Moving				AnimationName           = GUGandalfG_SKL.GUGandalfG_RUNB ;20				AnimationMode       = LOOP			End			Flags               = RANDOMSTART		End						AnimationState        = MOUNTED LEVELED	USER_1; This state clears itself in 3 of your Earth seconds			Animation = Yippee				AnimationName           = GUGdfHrs_SKL.GUGdfHrs_LVLA				AnimationMode       = ONCE			End			BeginScript				CurDrawableShowSubObject("STAFF_LIGHT")						EndScript								End		AnimationState        = MOUNTED LEVELED	; This state clears itself in 3 of your Earth seconds			Animation = Yippee				AnimationName           = GUGdfHrs_SKL.GUGdfHrs_LVLA				AnimationMode       = ONCE			End		End				; READY IDLE		AnimationState        = MOUNTED EMOTION_ALERT			Animation           = ALERT_1				AnimationName     = GUGdfHrs_SKL.GUGdfHrs_IDLA				AnimationMode     = LOOP			End		End		AnimationState        = EMOTION_ALERT			Animation           = ALERT_1				AnimationName     = GUGandalfG_SKL.GUGandalfG_IDLA				AnimationMode     = ONCE			End			Flags               = RESTART_ANIM_WHEN_COMPLETE ; acts like an idle animation & keeps running the animations.		End		AnimationState        = LEVELED	USER_1; This state clears itself in 3 of your Earth seconds			Animation = Yippee				AnimationName           = GUGandalfG_SKL.GUGandalfG_LVLA				AnimationMode       = ONCE			End			BeginScript				CurDrawableShowSubObject("STAFF_LIGHT")						EndScript								End		AnimationState        = LEVELED	; This state clears itself in 3 of your Earth seconds			Animation = Yippee				AnimationName           = GUGandalfG_SKL.GUGandalfG_LVLA				AnimationMode       = ONCE			End		End				AnimationState				=	MOUNTED SELECTED USER_1			SimilarRestart			=   Yes						StateName				=	AtAttentionIdle			Animation				=	ATNB				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_ATNB				AnimationMode		=	LOOP			End			BeginScript				Prev = CurDrawablePrevAnimationState()				if Prev == "Idle" then CurDrawableSetTransitionAnimState("TRANS_MountedSelect") end				if Prev == "AtAttentionIdle" then CurDrawableSetTransitionAnimState("TRANS_MountedSelect") end			EndScript		End		AnimationState				=	MOUNTED SELECTED			SimilarRestart			=   Yes						StateName				=	AtAttentionIdle			Animation				=	ATNB				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_ATNB				AnimationMode		=	LOOP			End			BeginScript				Prev = CurDrawablePrevAnimationState()				if Prev == "Idle" then CurDrawableSetTransitionAnimState("TRANS_MountedSelect") end				if Prev == "AtAttentionIdle" then CurDrawableSetTransitionAnimState("TRANS_MountedSelect") end				CurDrawableHideSubObject("STAFF_LIGHT")										EndScript		End		TransitionState				=	TRANS_MountedSelect			Animation				=	ATNA				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_ATNA				AnimationMode		=	ONCE			End		End				TransitionState					=	TRANS_Idle_to_Selected			Animation					=	ATNA				AnimationName			=	GUGandalfG_SKL.GUGandalfG_ATNA				AnimationMode			=	ONCE			End		End				TransitionState					=	TRANS_Selected_To_Idle			Animation					=	ATNE ;ATNC				AnimationName			=	GUGandalfG_SKL.GUGandalfG_ATNE ;C				AnimationMode			=	ONCE			End		End		AnimationState				=	SELECTED USER_1			StateName				=	Selected			SimilarRestart			=   Yes						Animation				=	ATNB							AnimationName		=	GUGandalfG_SKL.GUGandalfG_ATNB				AnimationMode		=	LOOP			End			BeginScript				Prev = CurDrawablePrevAnimationState()				if Prev == "Idle" then CurDrawableSetTransitionAnimState("TRANS_Idle_to_Selected") end			EndScript		End		AnimationState				=	SELECTED			StateName				=	Selected			SimilarRestart			=   Yes						Animation				=	ATNB							AnimationName		=	GUGandalfG_SKL.GUGandalfG_ATNB				AnimationMode		=	LOOP			End			BeginScript				Prev = CurDrawablePrevAnimationState()				if Prev == "Idle" then CurDrawableSetTransitionAnimState("TRANS_Idle_to_Selected") end				CurDrawableHideSubObject("STAFF_LIGHT")						EndScript		End				AnimationState = MOUNTED HIT_REACTION HIT_LEVEL_1			Animation = Hit_Level_1_a				AnimationName = GUGdfHrs_SKL.GUGdfHrs_HITA				AnimationMode = ONCE			End		End		AnimationState = HIT_REACTION HIT_LEVEL_1			Animation = Hit_Level_1_a				AnimationName = GUGandalfG_SKL.GUGandalfG_HITA				AnimationMode = ONCE			End		End				AnimationState = MOUNTED			StateName = Idle			Animation	=	IdleA				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_IDLA				AnimationPriority	=	30				AnimationMode		=	ONCE				AnimationBlendTime	=	15			End			Animation				=	IdleC				AnimationName		=	GUGdfHrs_SKL.GUGdfHrs_IDLC				AnimationMode		=	ONCE				AnimationBlendTime	=	15			End			Flags					=	RESTART_ANIM_WHEN_COMPLETE		End				AnimationState        =  USER_1			StateName = user_1_idle			Animation = Foot_IDLB ; Bored Idle				AnimationName       = GUGandalfG_SKL.GUGandalfG_IDLB				AnimationMode       = ONCE				AnimationPriority   = 2			End			Animation = Foot_IDLC ; Bored Fidget				AnimationName       = GUGandalfG_SKL.GUGandalfG_IDLC				AnimationMode       = ONCE				AnimationPriority   = 2			End			Animation = Foot_IDLD ; Bored Fidget				AnimationName       = GUGandalfG_SKL.GUGandalfG_IDLD				AnimationMode       = ONCE				AnimationPriority   = 1			End			Animation = Foot_IDLE ; Bored Fidget				AnimationName       = GUGandalfG_SKL.GUGandalfG_IDLE				AnimationMode       = ONCE				AnimationPriority   = 2			End			;Animation = Foot_IDLF ; Bored Fidget			;	AnimationName       = GUGandalfG_SKL.GUGandalfF_IDLF	does not exist...			;	AnimationMode       = ONCE			;	AnimationPriority   = 1			;End						BeginScript				Prev = CurDrawablePrevAnimationState()				if Prev == "Selected" then CurDrawableSetTransitionAnimState("TRANS_Selected_To_Idle") end				CurDrawableShowSubObject("STAFF_LIGHT")						EndScript					End	EndEnd;------------------------------------------------------------------------------ChildObject GondorGandalfGrey GondorGandalf    ; SelectPortrait for Heros is portrait behind skill buttons. HP = HeroPortrait.	SelectPortrait = HPGandalf        ; ButtonImage for Heros is button image on Hero Select UI to select hero. HI = HeroIcon or HeroImage.    ButtonImage = HIGandalfEnd;------------------------------------------------------------------------------ChildObject GondorGandalfCavalry GondorGandalfWhite	Draw = W3DScriptedModelDraw ModuleTag_W3DModelDrawInWorldBuilder		;When in Worldbuilder, show the mounted version of Gandalf!		;WadingParticleSys = EntRipples				OkToChangeModelColor = Yes				DefaultModelConditionState			Model = None		End		ModelConditionState = WORLD_BUILDER			Model = GUGdfHrs_SKN		End			End	Behavior = ToggleMountedSpecialAbilityUpdate ModuleTag_HorseToggle 		SpecialPowerTemplate    = SpecialAbilityToggleMounted 		 		TriggerInstantlyOnCreate = Yes  ;Instantly puts Gandalf on a horse.  		UnpackTime              = 2000 		PreparationTime         = 1   		PersistentPrepTime      = 250 		PackTime                = 2000 		 		OpacityTarget			= .3		; How see-thru to be at peak of change    		AwardXPForTriggering    = 0	EndEnd

Science.ini:

Science SCIENCE_GandalftheWhite  PrerequisiteSciences = SCIENCE_GOOD OR SCIENCE_MEN  SciencePurchasePointCost = 5  SciencePurchasePointCostMP = 5  IsGrantable = Yes;  DisplayName = ;  Description = End

Specialpower.ini:

SpecialPower SpellBookGandalftheWhite    Enum            = SPECIAL_SPELL_BOOK_ELVEN_GIFTS    ReloadTime          = 0 ; in milliseconds    PublicTimer         = No    InitiateSound           = RohirrimSpeechCheer    ;PalantirMovie        = PalantirAlert_RohanReinforcements            RequiredSciences        = SCIENCE_GandalftheWhiteEnd

Upgrade.ini:
Upgrade Upgrade_GandalfWhite	Type			= PLAYER	PersistsInCampaign = YesEnd

I forgot to add system.ini and now when i click spell when i bought him he change into gandalf the white but he doesnt has new attributes;/:

Behavior = PlayerUpgradeSpecialPower ModuleTag_SpellBookGandalfWhite
SpecialPowerTemplate = SpellBookGandalftheWhite
UpgradeName = Upgrade_GandalfWhite
UpdateModuleStartsAttack = No
AffectAllies = No ; Should not try to affect ally units
AvailableAtStart = No
End


Thats all whats wrong with it ?? I dont know why codebox dont work :) In last 3 inis xD Oh and i think that red theme was better than that white :p

Edited by SarumantheWhite, 19 January 2008 - 01:43 PM.


#6 Sûlherokhh

Sûlherokhh

    Sagacious Engineer

  • Project Team
  • 3,754 posts
  • Location:Central Germany
  • Projects:S.E.E., Sage A.I., Code Advisor
  •  'Axe'er of the Gordic Knot

Posted 19 January 2008 - 02:07 PM

; Behavior = AttributeModifierUpgrade ModuleTag_GandalfWhiteBonus
; TriggeredBy = Upgrade_GandalfWhite
; AttributeModifier = SpellBookGandalfWhite
; End

Remove the ';' before this line. Right now, only the texture change is working and the attributemodifier isn't. This module not only activates the modifier but should also take care of the problem you described.

About the codebox: I have no clue, although it might have to do with the number of codeboxes allowed.
The red theme isn't back yet because nobody has had enough time to recode the forums after the overhaul.

bannerreal01mittelit3.jpg
Axed Head and A.I. Coder for S.E.E. and ... stuff

".. coding is basically boring. What's fun is finding out how things work, take them apart and then put them together in ways that were not intended nor even conceived."


#7 SarumantheWhite

SarumantheWhite
  • Members
  • 95 posts

Posted 19 January 2008 - 02:45 PM

It works :) thx But i have a simple question what should i edit to make diffrent images for gandalf? U know first the grey after spell the white ;)

Edited by SarumantheWhite, 19 January 2008 - 04:00 PM.


#8 SarumantheWhite

SarumantheWhite
  • Members
  • 95 posts

Posted 19 January 2008 - 07:16 PM

How can i make installer for my mini-mod ? And i have a problem with gala respawn look at my ini :

[codebox]
Behavior = RespawnUpdate ModuleTag_RespawnUpdate
DeathAnim = DYING ;Model condition to play when killed-to-respawn
DeathFX = FX_HeroDieToRespawn ;FXList to play when killed-to-respawn
DeathAnimationTime = 4100 ;How long DeathAnim will take.
InitialSpawnFX = FX_HeroInitialSpawn
RespawnAnim = LEVELED ;Animation to play when respawning.
RespawnFX = FX_HeroRespawn ;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 = HIGaladriel
;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:1000 Time:1 Health:100% Level:Any ;DEFAULT VALUES
End

;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
;RespawnEntry = Level:2 Cost:2500 Time:90000 ;For other levels, only override what is different.
;RespawnEntry = Level:3 Cost:3000 Time:90000
;RespawnEntry = Level:4 Cost:3100 Time:90000
;RespawnEntry = Level:5 Cost:3200 Time:120000
;RespawnEntry = Level:6 Cost:3300 Time:120000
;RespawnEntry = Level:7 Cost:3400 Time:120000
;RespawnEntry = Level:8 Cost:3500 Time:120000
;RespawnEntry = Level:9 Cost:3600 Time:120000
;RespawnEntry = Level:10 Cost:4000 Time:120000
;End

Behavior = AnnounceBirthAndDeathBehavior ModuleTag_AnnounceBirthAndDeathBehavior
End
[/codebox]

I dont know why but i have still the same error and game crash : "unknown field behavior ". What is wrong ?

Edited by SarumantheWhite, 19 January 2008 - 09:33 PM.


#9 Sûlherokhh

Sûlherokhh

    Sagacious Engineer

  • Project Team
  • 3,754 posts
  • Location:Central Germany
  • Projects:S.E.E., Sage A.I., Code Advisor
  •  'Axe'er of the Gordic Knot

Posted 20 January 2008 - 12:38 AM

Galadriel needs a 'RespawnBody' instead of an 'ActiveBody'. Check out one of the normal heroes and copy the code from there.


P.S. Next time, don't post a fragment of the code but the complete 'Object'. :)

Edited by Sûlherokhh, 20 January 2008 - 12:51 AM.

bannerreal01mittelit3.jpg
Axed Head and A.I. Coder for S.E.E. and ... stuff

".. coding is basically boring. What's fun is finding out how things work, take them apart and then put them together in ways that were not intended nor even conceived."


#10 SarumantheWhite

SarumantheWhite
  • Members
  • 95 posts

Posted 22 January 2008 - 06:17 PM

I have a question : Is there any tutorial about how to convert hero images from bfme 1 and add them to bfme2/RotWK?? I know that i should copy them but then i have pink image or something.

EDIT: Ok nvm i found it.

Edited by SarumantheWhite, 22 January 2008 - 08:32 PM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users