| 
			
				 
				
				 
				Register and log in to move these advertisements down 
			
			
The Special Power Guide
	
	
		
		
			 
			Ridder Blauw 
		 | 
		
		
		
			
				
					| Category: | 
					Code | 
				 
				
				
					| Level: | 
					
					Intermediate   
					 | 
				 
				
				
					| Created: | 
					Wednesday March 25, 2009 - 9:41 | 
				 
				
					| Updated: | 
					Friday May 28, 2010 - 15:36 | 
				 
				
					| Views: | 
					12379 | 
				 
				
					| Summary: | 
					Here you will read and learn tips and tricks about special powers. | 
				 
			 
		 | 
		
		
		
			 Rating
			 
			
				
					| 
						 Staff says 
						
							3.7
						 
					 | 
					
					
						 Members say 
						
							4.0
						 
					 | 
				 
				
					| 
						 Average 
						3.9/5.0 
					 | 
				 
			 
			9 votes 
			
			
		 | 
	 
	
 Adding a Balrog summon to a hero
This tutorial will show you how to add a Balrog summon to any hero, in this tutorial 'my hero' will be Ridder Blauw. 
Level: Intermediate 
 
Needed: 
'Your Hero'.ini *The hero you will be editing 
Specialpower.ini 
Upgrade.ini 
Objectcreationlist.ini 
Commandset.ini 
Commandbutton.ini 
Experiencelevels.ini
'Your Hero'.ini
First open the  'Your Hero'.ini, and scroll down to the power section and paste this:
 
         | Code |  
          ;------------------------------------------------------------------------------------------------- 
    ;//-------------------------Dain's     Summon Royal Guard-------------------------------------------- 
    ;------------------------------------------------------------------------------------------------- 
    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_DainSummonEnabler ;What does this code block do? 
        SpecialPowerTemplate = SpecialAbilityDainSummonRoyalGuard ;Referenced in specialpower.ini 
        TriggeredBy = Upgrade_DainRoyalGuard ;What upgrade 'unlocks' the power? 
    End ;Needed in every code block to show it ends! 
 
    Behavior = OCLSpecialPower ModuleTag_OCLSpecialPower 
        SpecialPowerTemplate    = SpecialAbilityDainSummonRoyalGuard ;Referenced in specialpower.ini 
        OCL                        = OCL_SpawnDwarvenEgg ;Referenced in objectcreationlist.ini 
        CreateLocation            = CREATE_AT_LOCATION ;Where are the objects created? 
        StartsPaused            = Yes ;Do you have to wait to use it? 
        ;SetModelCondition        = ModelConditionState:USER_1 
        ;SetModelConditionTime    = 8.1 
    End 
      |  
          
Then change it to this, all things still have the same meaning:
 
         | Code |  
           
        ;------------------------------------------------------------------------------------------------- 
    ;//-------------------------Summon Balrog-------------------------------------------- 
    ;------------------------------------------------------------------------------------------------- 
    Behavior = UnpauseSpecialPowerUpgrade ModuleTag_DainSummonEnabler 
        SpecialPowerTemplate = SpecialAbilityRidderBlauwBalrog 
        TriggeredBy = Upgrade_RidderBlauwBalrog 
    End 
 
    Behavior = OCLSpecialPower ModuleTag_OCLSpecialPower 
        SpecialPowerTemplate    = SpecialAbilityRidderBlauwBalrog 
        OCL                        = OCL_SpawnRidderBlauwBalrog 
        CreateLocation            = CREATE_AT_LOCATION 
        StartsPaused            = Yes 
        ;SetModelCondition        = ModelConditionState:USER_1 
        ;SetModelConditionTime    = 8.1 
    End  |  
          
Now we have done all neccesary for the 'Your Hero'.ini.
 Specialpower.ini
Here we have referenced our specialpower to. 
Now move on and open up the  Specialpower.ini, there find this piece of code:
 
         | Code |  
         ; ----------------------------------------------------------------------------- 
SpecialPower SpecialAbilityDainSummonRoyalGuard 
    Enum                            = SPECIAL_SPELL_BOOK_MEN_OF_DALE_ALLIES ;Every summon spell needs an Enum! 
    ReloadTime                        = 180000      ;    in milliseconds ;How long needed to recharge? 
    RadiusCursorRadius                = 100.0 ;How big is the spell's radius 
    InitiateAtLocationSound            = DainSummonRoyalGuardMS ;What sound is played at activation? 
    Flags                            = NO_FORBIDDEN_OBJECTS LIMIT_DISTANCE ;Not sure what this means 
    ForbiddenObjectFilter            = NO_SUMMON_NEAR_OBJECT_FILTER ;What may not be near cursor radius? 
    ForbiddenObjectRange            = 100 ;Size of area forbiden objects may not be in? 
    MaxCastRange                    = 150 ;Maxrange of the spellcast 
End |  
          
And then copy and change it to this:
 
         | Code |  
         ; ----------------------------------------------------------------------------- 
SpecialPower SpecialAbilityRidderBlauwBalrog 
    Enum                            = SPECIAL_SPELL_BOOK_BALROG_ALLY 
    ReloadTime                        = 180000      ;    in milliseconds 
    RadiusCursorRadius                = 100.0 
    InitiateAtLocationSound            = DainSummonRoyalGuardMS  
    Flags                            = NO_FORBIDDEN_OBJECTS LIMIT_DISTANCE 
    ForbiddenObjectFilter            = NO_SUMMON_NEAR_OBJECT_FILTER 
    ForbiddenObjectRange            = 100 
    MaxCastRange                    = 150 
End |  
          
Next we will be doing the  Upgrade.ini
Upgrade.ini
In the upgrade ini find this piece of code:
 
         | Code |  
         Upgrade Upgrade_DainRoyalGuard ;With which name will the upgrade be referenced? 
  Type                = OBJECT ;It's almost always a object 
End  |  
          
And then copy and change it to this:
 
         | Code |  
         Upgrade Upgrade_RidderBlauwBalrog 
  Type                = OBJECT 
End |  
          
Thats it for the  Upgrade.ini.
 Objectcreationlist.ini
Open up the  Objectcreationlist.ini, and scroll down till you see this piece of code:
 
         | Code |  
         ;---------------------------------------------------------------------------------------  
ObjectCreationList OCL_SpawnDwarvenEgg ;What is it referenced with? 
    CreateObject 
        ObjectNames = PhalanxSummonEgg ;Which object(s) will be placed? 
        IgnoreCommandPointLimit = Yes ;Does it ignore your commandpiont limit? 
        Disposition = LIKE_EXISTING ;Not sure what this means 
    End 
End 
 |  
          
Copy and change it to this:
 
         | Code |  
         ;---------------------------------------------------------------------------------------  
ObjectCreationList OCL_SpawnRidderBlauwBalrog 
    CreateObject 
        ObjectNames = MordorBalrog 
        IgnoreCommandPointLimit = Yes 
        Disposition = LIKE_EXISTING 
    End 
End |  
          
Commandbutton.ini
We have got the power to function, but now we still have to make a command button for in the commandset of your hero, so open up the  Commandbutton.ini and look for this piece of code:
 
         | Code |  
         CommandButton Command_SpecialAbilityDainSummonRoyalGuard 
  Command           = SPECIAL_POWER ;What type of command is this? 
  SpecialPower      = SpecialAbilityDainSummonRoyalGuard ;Which specialpower does it 'launch' 
  TextLabel         = CONTROLBAR:SummonRoyalGuard ;What is it named, this is referenced in the lotr.str 
  ButtonImage       = HSKingDainSummonRoyalGuard ;What buttonimage does it use? 
  Options           = NEED_TARGET_POS CONTEXTMODE_COMMAND ;Which options do you have? 
  RadiusCursorType  = SummonOathBreakersRadiusCursor ;Which cursor does it use? 
  CursorName        = Bombard ;All special power with a cursor use this 
  InvalidCursorName = GenericInvalid   ;Not sure what this is, not so important 
  ButtonBorderType  = ACTION  ;What kind of border does it have, ACTION (Most Powers) or PASSIVE (Leadership, etc.) 
  DescriptLabel     = CONTROLBAR:ToolTipSummonRoyalGuard ;It's description, also referenced in the lotr.str 
  InPalantir        = Yes ;Can you see it in your commandset? 
End |  
          
Copy this and change it to this:
 
         | Code |  
         CommandButton Command_SpecialAbilityRidderBlauwBalrog 
  Command           = SPECIAL_POWER 
  SpecialPower      = SpecialAbilityRidderBlauwBalrog 
  TextLabel         = CONTROLBAR:SummonBalrog 
  ButtonImage       = HSBalrogScream 
  Options           = NEED_TARGET_POS CONTEXTMODE_COMMAND 
  RadiusCursorType  = SummonOathBreakersRadiusCursor 
  CursorName        = Bombard 
  InvalidCursorName = GenericInvalid   
  ButtonBorderType  = ACTION  
  DescriptLabel     = CONTROLBAR:TooltipSummonBalrog 
  InPalantir        = Yes 
End |  
          
We have now created the commandbutton, so we can put it in the commandset.
 Commandset.ini
Now scroll down in the commandset.ini and find your hero's commandset and put in this:
 
         | Code |  
         Command_SpecialAbilityRidderBlauwBalrog |  
          
Experiencelevels.ini
There is only one thing left to do, that is to add the upgrade to your heros experience levels. 
As an example I shall show my heros experience levels:
 
         | Code |  
         ExperienceLevel    RidderBlauwLevel10 
    TargetNames                        =    GondorRidderBlauw GondorRidderBlauwCavalry ;Which object does this count for?     
    RequiredExperience                =    FARAMIR_LVL10_EXP_NEEDED ;How much experience is needed? 
    ExperienceAward                    =    FARAMIR_LVL10_EXP_AWARD ;How much experience is awarded?  
    LevelUpFx                        =    FX:GandalfLevelUp1FX ;What fx comes once level up? 
    Rank                            =    10 ;Which rank? 1, 2, 3, 4, 5, 6, etc. 
    AttributeModifiers                =    HeroLevelUpDamage10 ;How much stronger does the hero become? 
    Upgrades                         =         Upgrade_RidderBlauwBalrog ;Which upgrade is granted at this level? 
    SelectionDecal 
        Texture                        =    decal_hero_good 
        Style                        =    SHADOW_ALPHA_DECAL 
        OpacityMin                    =    50%     
        OpacityMax                    =    100% 
        MinRadius                    =    40 
        MaxRadius                    =    200 
        MaxSelectedUnits            =    40 
    End     
End |  
          
Now go play the game check out the new power. If it doesn't work comment it.
 Using the summon Balrog was just as an example if you understood what I did you will see you can easily change what it summons and so forth. Links / DownloadsCommentsDisplay order: Newest first | Page: 1, 2 clank234 - Tuesday November 16, 2010 - 12:41 I gave a 5 
1) A lot off effort just to help others which i love to see a lot. 
2) Can i hav some help with Summon Balrog, when i try to play it crashes and the upgrade.ini isnt right Ridder Blauw - Monday August 23, 2010 - 6:05 That means the thing that is filled in at Attackrange in the weapon is wrong. 
 
Or the macro there doesnt exsist or the characters filled in are wrong. SkillModLord - Friday August 20, 2010 - 0:02 Weapon.ini 
 
That part where you combine woundarrow with Word of Power goes wrong. 
 
When I put the piece of code you written there in my weapon.ini and correct it as you said, I try to start up the game and it says that attacktange in the file weapon.ini isnt good. I try to put other command first under the wounding arrow but then the the same bug appears with the new command first :S Shininku - Sunday September 13, 2009 - 18:53 This was pretty awesome guide and it helped me to fix up my powers. But I think I need help. I've set up my hero so that he can summon a BlackRider (Ringwraith w/e) at level 10. When my character gets to level 10, Blackrider icon lights up like it's usable. But when I click it, nothing happens. I don't get the little summoning area thing. What'd I do wrong? drogoth232 - Wednesday September 9, 2009 - 14:07 In the coding part. Will sam have the throwing anims? Ridder Blauw - Wednesday August 19, 2009 - 8:34 That's modeling and coding. ;) 
 
-------- 
 
Added a Two Part tutorial to continue the Editing Projectile Spells tutorial, New Projectile Spells! ;):);) Spartan184 - Wednesday June 24, 2009 - 18:09 I tryed adding Summon Balrog to Saruman and it crashed its for bfme1. 
Nevermind Fixed it. Thanks a lot UR THE BEST!!! 
For the Gimli thing for instead of haveing a axe he has a Spear can we change the weopen like say sarumans staff or something? Ridder Blauw - Sunday May 10, 2009 - 22:26 The code calls them dozers in the code block DOZER_CONSTRUCT don't they? 
 
-------- 
 
Didn't get at first why you brought it up, so would you forgive me. 
And thanks. Prolong - Sunday May 10, 2009 - 19:57 DOZERs are Builder/Porters  
			Go to top 
			
		 |