The 3rd Age

MasterHero Mod 1.9

MasterHero Mod 1.9

Enhances Visuals, provide series of modifications and additions to the game play, support WOR

Button for The 3rd AgeButton for The Dwarf HoldsButton for The Elven AllianceButton for Helm's Deep Last HopeButton for GothmogtheOrcButton for BFME+Button for The Four AgesButton for HDR HeadquartersButton for Middle Earth CenterButton for Project Perfect Mod

Become an affiliate!

   

Quick Lists

Top Rated Popular New Updated Last Comments Users

Register and log in to move these advertisements down

The Special Power Guide

Avatar of Ridder Blauw

Ridder Blauw

Category: Code
Level: Intermediate
Created: Wednesday March 25, 2009 - 9:41
Updated: Friday May 28, 2010 - 15:36
Views: 11903
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

Page 1 2 3 4 5 6 7 8 9
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 / Downloads

 HitsAdded
Throwing Knife, Premade (Credit Required)1301August 19, 2009 - 2:17
Weapons Tutorial, by Ridder Geel1551May 6, 2009 - 2:11

Comments

Display 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?

Ridder Blauw - Friday September 11, 2009 - 10:02

Yes.

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

 

"One site to rule them all, one site to find them,
one site to host them all, and on the network bind them."

 
20:38:30