The 3rd Age

Broken Sword: Expansion Pack

Broken Sword: Expansion Pack

New Heroes, new Factions, new Maps,... a new world is waiting.

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

Weapons

Tutorial for Battle for Middle-earth II BFME 2

Avatar of Ridder Geel

Ridder Geel

Category: Code
Level: Intermediate
Created: Saturday February 9, 2008 - 8:20
Updated: Thursday December 15, 2011 - 14:27
Views: 18775
Summary: About Weapons, Weapon 'Leveling' and how to make a 'MorgulBlade' weapon effect.

Rating

Staff says

3.7

Members say

4.5

Average

4.4/5.0

20 votes

Page 1 2 3 4 5 6 7
Weapons & Nuggets in detail Cont.

This part of the tutorial will show you more Nuggets.

For all the damage types look in the file: DamageTypes which you can download at the bottom of this page!

Nuggets

There are many kind of NUGGETS in BFME2, here's a list of the ones I have found:
*1* DamageNugget
*2* MetaImpactNugget
*3* ProjectileNugget
*4* WeaponOCLNugget
*5* AttributeModifierNugget
*6* StealMoneyNugget
*7* DOTNugget
*8* ParalyzeNugget
*9* EmotionWeaponNugget
*10*FireLogicNugget
*11*SpecialModelConditionNugget
*12*ClearNuggets
*13*DamageFieldNugget
*14*HordeAttackNugget
*15*SpawnAndFadeNugget
*16*GrabNugget
*17*LuaEventNugget
*18*SlaveAttackNugget
*19*DamageContainedNugget
*20*OpenGateNugget
*Cool* Cool Nuggets

Tip: Use the Search function (Ctrl+F) to find a specific Nugget so for DamageNugget Search for *1*
There may be many more, so comment if you know another one!

DamageNugget *1*

The Name says it already, its a nugget that just does normal damage.
Example:
              
Code

DamageNugget ; A basic Nugget that just does damage
    Damage = 1 ;Damage for a normal hit
    Radius = 0.0 ;Radius of damage
    DelayTime = 0 ;How long from hit till the damage is applied
    DamageType = SLASH ;Used to cross reference with victim's armor to determine if hurt
    DamageFXType = SWORD_SLASH ;used to cross with their DamageFX listing to determine what effect to play
    DeathType = NORMAL ;Used as index to their Death Modules to determine which one to play
End


MetaImpactNugget *2*

A Nugget that throws things back with force, Think about moves like wizardblast or when drogoth smacks the ground with his tail.
Example:
              
Code

MetaImpactNugget ; A Nugget that throws things back with force
    HeroResist    = .75     ;only knocks heroes down 75% of the time
    ShockWaveAmount = 50.0    ;Amount of force that will push units
    ShockWaveRadius = 10.0    ;Radius the shockwave affects
    ShockWaveArc = 90 ; in degrees to each side 180 is full circle
    ShockWaveTaperOff = 1.0
    ShockWaveSpeed = 0.0        ;Speed of shockwave
    ShockWaveZMult = 1.0
    InvertShockWave = Yes        ; Pull(YES) OR Push(NO)
End


ProjectileNugget *3*

A Nugget that creates an Object and sends it to the target with a Warhead.
Example:
              
Code

ProjectileNugget ; A Nugget that creates an Object and sends it to the target with a Warhead
    ProjectileTemplateName = GimliAxeProjectile        ;object shot
    WarheadTemplateName = RohanGimliAxeThrownWarhead    ;warhead that gives damage
End


WeaponOCLNugget *4*

A Nugget that should only be used for the rarest of super special weapons According To EA
Creates an object at the target's position, not used alot
Example:
              
Code

WeaponOCLNugget                        ; A Nugget that should only be used for the rarest of super special weapons.
    WeaponOCLName = OCL_SuperComplicatedFivePartMovingDeathBlossom ;don't know if this OCL even exists!
End


AttributeModifierNugget *5*

A nugget that modifies a units attribute.
Example:
              
Code

AttributeModifierNugget
    AttributeModifier = WitchKingMorgulBladeEffect ;The attribute modifier used.
    DamageFXType = SWORD_SLASH ;used to cross with their DamageFX listing to determine what effect to play
End


StealMoneyNugget *6*

I like the idea of this nugget,
It steals money per attack!
Example:
              
Code

StealMoneyNugget
    AmountStolenPerAttack = 5 ; amount of money unit steals per attack
End


DOTNugget *7*

DOT stands for Damage Over Time, at least that is what I believe.
It does damage to a target over a period of time, most common in poison attacks.
Example:
              
Code

DOTNugget ; An example of a poison DOTNugget.
    Damage = DEFAULT_POISON_DAMAGE
    AcceptDamageAdd = No
    Radius = 0.0
    DelayTime = 0
    DamageType = POISON
    DamageFXType = POISON
    DeathType = NORMAL
    DamageInterval = 1000    ;how many seconds between poison damage done?
    DamageDuration = 10000    ;how long is target poisoned?
    SpecialObjectFilter = AFFECTED_BY_POISON_OBJECTFILTER
End


ParalyzeNugget *8*

Paralyzes unit for a period of time.
Example:
              
Code

ParalyzeNugget
    Radius                = 0.0
    Duration            = POISONED_STINGER_DURATION
    SpecialObjectFilter    = CRIPPLE_STRIKE_OBJECT_FILTER ;Who does it affect?
    ParalyzeFX            = FX_PoisonedStunEffect
End


EmotionWeaponNugget *9*

Gives target a specific emotion, most commonly used emotion is Terror, which causes unit to run away.
Example:
              
Code

EmotionWeaponNugget
    EmotionType            = TERROR
    Radius                = 0
    Duration            = 5
    SpecialObjectFilter    = ANY ENEMIES +MONSTER
End


FireLogicNugget *10*

This Nugget affects the fire logic of the ground around the target.
Example:
              
Code

    ;These 2 together make almost any ground burn
    FireLogicNugget
        LogicType        = INCREASE_BURN_RATE
        Radius            = 1
        Damage            = 40
    End    

    FireLogicNugget
        LogicType        = INCREASE_FUEL
        Radius            = 40
        Damage            = 20
        MinMaxBurnRate        = 40
        MinDecay        = 25
        MaxResistance        = 1
    End


SpecialModelConditionNugget *11*

I'm not exacly sure what this does, but I think it has to do with a weapon used when a model has a specific condition.
Example:
              
Code

Weapon MordorMtTrollBored        ;I suspect this one is for a troll who smacks around because he is bored and it hurts people
AttackRange = 40.0
PreAttackFX = FX_TrollTreeSwing
FireFX = FX_TrollPunchGeneric        ;FX_TrollTreeHit
RadiusDamageAffects = ALLIES

    SpecialModelConditionNugget
        ModelConditionNames = USER_2    ; Can be used to set multiple, and it doesn't use the normal hit reaction because this one is special
        ModelConditionDuration = 2000
        SpecialObjectFilter = NONE +MordorCaveTroll +MordorMountainTroll +GoblinCaveTroll
    End

    SpecialModelConditionNugget
        ModelConditionNames = USER_3
        ModelConditionDuration = 21000
        SpecialObjectFilter = NONE +MordorMountainTroll    
    End
End


ClearNuggets *12*

Clear all the damage/fx/paralyze etc nuggets so they can be replaced.

Example:
              
Code

ClearNuggets ; Clear all the damage/fx/paralyze etc nuggets so they can be replaced.


DamageFieldNugget *13*

A Nugget that lays down an area of damage that persists independantly.
Example:
              
Code

DamageFieldNugget
    WeaponTemplateName = SmallFireFieldWeapon    ;Weapon to "put down"
    Duration = 3000        ;How long will the weapon live?
End


HordeAttackNugget *14*

This nugget tells the horde to attack something.
Example:
              
Code

HordeAttackNugget
End



SpawnAndFadeNugget *15*

This nugget spawns an object and tells the object who uses the weapon to fade away.
Example:
              
Code

;;Isengard Mine
SpawnAndFadeNugget
    ObjectTargetFilter = ANY +STRUCTURE +INFANTRY +CAVALRY +MONSTER -ROCK_VENDOR    ;where not to spawn?
    SpawnedObjectName = IsengardDeployedExplosiveMine    ;What to spawn?
    SpawnOffset = X:8 Y:1 Z:0    ;How far away from me to spawn?
End


GrabNugget *16*

A Nugget that makes the unit grab another object.
Example:
              
Code

GrabNugget             ; A Nugget that makes me grab you
    SpecialObjectFilter        = ANY +GRAB_AND_DROP
    ContainTargetOnEffect = Yes
    ImpactTargetOnEffect    = Yes ;... if for some reason, I can not contain you, I'll try to give you a shove
    ShockWaveAmount     = 50.0
    ShockWaveRadius     = 16.0
    ShockWaveTaperOff     = 0.75
    ShockWaveZMult     = 1.1
End


LuaEventNugget *17*

A Nugget that Sends a lua script event out.
This is usefull to make people be scared of you!
Example:
              
Code

LuaEventNugget ; Sends a lua script event out
    LuaEvent        = BeUncontrollablyAfraid    ;What LUA Script?
    Radius            = 200    ;How far?
    SendToEnemies    = Yes    ;Enemy units recieve the LUA?
    SendToAllies    = No    ;Ally units recieve the LUA?
    SendToNeutral    = Yes    ;Neutral units recieve the LUA?
End


SlaveAttackNugget *18*

A Nugget that tells the objects slave to perform the attack.
Example:
              
Code

SlaveAttackNugget
End


DamageContainedNugget *19*

A Nugget that damages anyone who is contained by any object, such as a transport boat.
Example:
              
Code

DamageContainedNugget
    KillCount = 5    ;how many to kill
    KillKindof = INFANTRY    ;What "Kind" to kill
    KillKindofNot = NONE    ;What not to kill?
    DeathType = BURNED    ;How will they die?
End


OpenGateNugget *20*

A Nugget that forces a gate to open.
For example, some battering ram might automatically break open the gate!
Example:
              
Code

OpenGateNugget ;Force open any gate hit by this.
    Radius            = 0.0
End



Some Cool Nuggets *Cool*

Get healed by attacking unit, like a wight!
              
Code

Weapon BarrowWightTouch ;BALANCE BarrowWightTouch
    RadiusDamageAffects    = ENEMIES NEUTRALS
    LeechRangeWeapon = Yes
    AttackRange = 20.0
    MeleeWeapon = Yes
    DelayBetweenShots = BARROWWIGHT_SWORD_DELAYBETWEENSHOTS ; Bad Things happen if delay between shots is less than Preattack+Firing times. You are ready to fire before you are done firing.
    PreAttackDelay = BARROWWIGHT_SWORD_PREATTACKDELAY ; 400 is sword swing delay time before contact with target.
    PreAttackType = PER_SHOT ; Do the delay each time we attack a new target
    FireFX = FX_BarrowWightHit    ;FX_GondorSwordHit
    FiringDuration = BARROWWIGHT_SWORD_FIRINGDURATION ; Duration of the sword swing

    DamageNugget ; A basic Nugget that just does damage
        Damage         = BARROWWIGHT_SWORD
        Radius         = 10.0
        DelayTime         = 0
        DamageType         = MAGIC
        DamageFXType         = SWORD_SLASH
        DeathType         = NORMAL
        DrainLife         = Yes        ;<- This is the part that allows unit to steal health
        DrainLifeMultiplier    = 0.5        ;<- How much % of damage done is converted into health for unit?
    End
    AttributeModifierNugget
        AttributeModifier    = BarrowWightTouchDebuff
        AntiCategories        = LEADERSHIP BUFF
        SpecialObjectFilter = GENERIC_BUFF_RECIPIENT_OBJECT_FILTER
    End
End


This rounds up this tutorial,
So good luck with making cool Nugget Combo's.

If you know of any other Nuggets then comment it or send me a PM!

Links / Downloads

 HitsAdded
Available DamageTypes2016February 10, 2008 - 18:15
JackSpearLVL4exspearglow.tga -@Page31706February 9, 2008 - 12:02

Comments

Display order: Newest first | Page: 1, 2

Sauron-the-Deciever - Thursday December 1, 2011 - 3:10

Flank bonus means the bonus for attacking units from behind

modboy451 - Friday November 12, 2010 - 10:34

Excellent Article!
Thanks, Im using different forms of morgul blades now (that give me different thing)
i was wanting to know how to put poison and flame onto my heros weapons too, thanks!

Ridder Geel (Staff) - Saturday July 4, 2009 - 11:56

In weapon.ini....
change this line:
        Damage            = GLORFINDEL_SWORD_DAMAGE
to a different value...
Simple...
Next time ask this in the forums.

elvenlord95 - Thursday July 2, 2009 - 8:19

e...how can i make a hero's weapon(for example glorfindels) making more damage?
"the sky has fallen"

Ridder Geel (Staff) - Thursday April 30, 2009 - 7:23

1. Good idea ;)
2. Reformat, will do that later.
3. I didn't click on it alot. I usually do check the tutorial for replies or comments and such once every day, and i think that maybe because of this tutorials subject some people open the tutorial more than once to check out some things about some nuggets and such. I sometimes even go here to check some of the nuggets ;)

Behavior? do you mean all the things from in the "Engineering" part of the "Unit" or "Structure"? If thats the case then I will consider making that later.

Sulherokhh (Team Chamber Member) - Wednesday April 29, 2009 - 1:33

1. How about you list any changes on page 1?
2. Don't you think a reformat would help reading? (like removal of empty space, etc.)
3. How long did it take you to click on the tutorial so it would appear in the top ten popular section? ;-)

Can you answer those questions? I might give it a 4 instead of 3. :)

Otherwise, this is just what is needed, a very thankful job indeed.
Now a comprehensive listing of 'Behavior'-modules with a listing of all toggles would be nice indeed ... in an additional tutorial.

Masterbadeend - Wednesday April 29, 2009 - 1:05

I think Flanking Bonus is this: When the unit flanks (yellow lightning bolt) an another unit then he gets for example +50% extra damage to that other unit.

Zarmoz - Tuesday March 10, 2009 - 2:44

You are the best of the best. good job!

I have made Aragorn have a Poisonous sword, Gandalf with Flame sword, Legolas with magic bow, Frodo with poisonous dagger and create a heros have flame if they're swordsman or poison if they're archer. ;)

dethwaker3 - Monday October 27, 2008 - 21:36

I am definitely gonna use the get healed by attacking units!!!!

Lurtzy - Tuesday June 10, 2008 - 14:11

Helped me get started a while ago, good tutorial!

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

 
13:13:35