The 3rd Age

Shadows of Evil Mod

Shadows of Evil Mod

A released mod for BFME I that improves Mordor and Isengard

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

Ultimate beginner's guide. New hero, many topics

Avatar of malvack

malvack

Category: Code
Level: Beginner
Created: Saturday March 5, 2016 - 6:37
Updated: Tuesday October 11, 2016 - 6:19
Views: 17132
Summary: Guide to make new hero based on CaH and many other topics

Rating

Staff says

-

Members say

5.0

Average

5.0/5.0

2 votes

Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
So, up to this point we know how to give our hero a power from another hero and a power from CaH, but what about the spellbook powers? As I said before, there are tutorials right here that already explain these topics, but I want to create the guide to make the ultimate hero, so I'll talk about that as well.

Closing everything we had opened before, we now open our hero again and this time we go to data>ini>object>system>system.ini, here are ALL the spellbook powers, in this tutorial I'll show how to give Darkness to the hero. First we find the module of the power we desire, copy it, and then we paste it somewhere in ourhero.ini. When you paste it you'll have your hero "know" how to use the power but not "when" will it be available to him/her. You'll have to add that module, you can copy it from one of the powers above just make sure to change the moduletag (remember it has to be unique. When you're done, make sure you have something like this:

              
Code

;--------------MALVACK DARKNESS------------------------------------------------------------    
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_Darkness_Enabler
    SpecialPowerTemplate = SpecialAbilityMalvackCrippleStrikeMelee
    TriggeredBy             = Upgrade_ObjectLevel1
End
    Behavior = DarknessSpecialPower ModuleTag_Darkness
        SpecialPowerTemplate            = SpellBookDarkness
        AttributeModifier                = SpellBookDarkness
        AttributeModifierAffects        = ANY +INFANTRY +CAVALRY +MONSTER -HERO -HORDE ALLIES
        AttributeModifierWeatherBased    = Yes            
        WeatherDuration                    = SPELL_DARKNESS_DURATION
        ChangeWeather                    = CLOUDY
        AvailableAtStart                = No
        RequirementsFilterMPSkirmish = SPELL_BOOK_REQUIREMENTS_FILTER
        RequirementsFilterStrategic = SPELL_BOOK_REQUIREMENTS_FILTER_STRATEGIC
    End


Now we have to delete the filters of the spellbook and also change the AvailableAtStart variable with StartsPaused. You should have something like this:


              
Code

;--------------MALVACK DARKNESS------------------------------------------------------------    
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_Darkness_Enabler
    SpecialPowerTemplate = SpecialAbilityMalvackCrippleStrikeMelee
    TriggeredBy             = Upgrade_ObjectLevel1
End
    Behavior = DarknessSpecialPower ModuleTag_Darkness
        SpecialPowerTemplate            = SpellBookDarkness
        AttributeModifier                = SpellBookDarkness
        AttributeModifierAffects        = ANY +INFANTRY +CAVALRY +MONSTER -HERO -HORDE ALLIES
        AttributeModifierWeatherBased    = Yes            
        WeatherDuration                    = SPELL_DARKNESS_DURATION
        ChangeWeather                    = CLOUDY
        StartsPaused                = Yes
    End


As you can tell, the SpecialPowerTemplate part is a mess in both modules, we have to create a new one in the specialpower.ini file. Has to be a new one because the normal SpellBookDarkness is a spellbook power, not a special ability. Open the file and copy the module of darkness (or whatever your power might be) and paste it somewhere in the file. When you paste it first change the name, delete RequiredSciences and remove the RESPECT_RECHARGE_TIME_DISCOUNT flag. The new entrance of specialpower.ini should be like:

              
Code

;------------------------------------------------------------------------------
SpecialPower SpecialAbilityMalvackDarkness
    Enum = SPECIAL_SPELL_BOOK_DARKNESS
    ReloadTime = SPELL_RECHARGE_TIME_TIER_3 ;600000 in milliseconds
    InitiateAtLocationSound = SpellDarkness
End


I removed the part that says "Flags" because the only flag there was was the RESPECT_RECHARGE_TIME_DISCOUNT flag. Now go back to yourhero.ini file and change the SpecialPowerTemplate. The final version of the power will be:

              
Code

;--------------MALVACK DARKNESS------------------------------------------------------------    
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_Darkness_Enabler
    SpecialPowerTemplate = SpecialAbilityMalvackDarkness
    TriggeredBy             = Upgrade_ObjectLevel1
End
    Behavior = DarknessSpecialPower ModuleTag_Darkness
        SpecialPowerTemplate            = SpecialAbilityMalvackDarkness
        AttributeModifier                = SpellBookDarkness
        AttributeModifierAffects        = ANY +INFANTRY +CAVALRY +MONSTER -HERO -HORDE ALLIES
        AttributeModifierWeatherBased    = Yes            
        WeatherDuration                    = SPELL_DARKNESS_DURATION
        ChangeWeather                    = CLOUDY
        StartsPaused                = Yes
    End


Now, we are almost done, we only need to create the commandbutton and add it to the commandset. So, we open the commandbutton.ini file and look for the darkness button; copy it and paste it. Now we're going to change the name, but also change the kind of command, instead of being SPELL_BOOK will change it to SPECIAL_POWER, and we also absolutely have to add the line: " InPalantir=Yes", without it, the power won't appear in the palantir (duh). Butmost importantly, we have to change the SpecialPower to match the one in both the specialpower.ini and yourhero.ini

So, our new button will look like:

              
Code

CommandButton Command_SpecialAbilityMalvackDarkness
    Command            = SPECIAL_POWER
SpecialPower        = SpecialAbilityMalvackDarkness
ButtonImage            = SBEvil_Darkness
    TextLabel        = CONTROLBAR:Darkness
    DescriptLabel        = CONTROLBAR:TooltipDarkness
InPalantir             = Yes
End


Now we add that to our commandset and it will look like:

              
Code

CommandSet AngmarMalvackCommandSet
1 = Command_ToggleStance
2 = Command_SpecialAbilityAngmarMalvackShakeFoundation
3 = Command_MalvackCrippleStrikeMelee
4 = Command_SpecialAbilityMalvackDarkness
; 5 =
; 6 =
12 = Command_CaptureBuilding
13 = Command_AttackMove
14 = Command_Stop
16 = Command_SetStanceBattle
17 = Command_SetStanceAggressive
18 = Command_SetStanceHoldGround
End


And now our hero can cast Darkness on the field!!!

Links / Downloads

 HitsAdded
WinXPSoundRecorder1531March 6, 2016 - 6:03
FinalBigEditor1794March 5, 2016 - 7:29

Comments

Display order: Newest first

Amonrath - Monday August 14, 2017 - 2:16

Hello! I'm trying to do the but in the bfme I. Is there any different steps? I created a folder with my own mod... I then just edit the values that I want and I save them... I have also added the -mod in the end of the "Path" as well as done the lotr.srt extraction. Could anyone help? Thanks =D

--------

Hello! I'm trying to do the but in the bfme I. Is there any different steps? I created a folder with my own mod... I then just edit the values that I want and I save them... I have also added the -mod in the end of the "Path" as well as done the lotr.srt extraction. Could anyone help? Thanks =D

BouncyKnight - Tuesday April 25, 2017 - 22:08

Amazing step-by-step, very detailed and explanatory tutorial on how to create your custom heroes! Thank you sir, you're great!

Gabriel Oak - Tuesday December 13, 2016 - 11:19

I created this account only to thank you, sir. This tutorial is really, really useful.

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."

 
21:21:03