Ok so I still can not figure out a good way to get Legolas to spawn ents.
My biggest problem, first and foremost is that I can not get anything to show up in Legolas commandset. I could get other powers, such as GimliSlayer to show up in Legolas commandset, but not the ent power.
I tried two routes.
One to just put the entallies spellbook power commandbutton in Lego's commandset, and then set power available through scripts as so...
CommandButton Command_SpellBookEntAllies
Command = SPECIAL_POWER
SpecialPower = SpellBookEntAllies
ButtonImage = SBGood_EntAllies
Options = NEED_TARGET_POS CONTEXTMODE_COMMAND
TextLabel = CONTROLBAR:SummonEntAllies
ButtonBorderType = ACTION
DescriptLabel = CONTROLBAR:TooltipSummonEntAllies
RadiusCursorType = EntAlliesRadiusCursor
CursorName = AttackObj
InvalidCursorName = GenericInvalid
InPalantir = Yes
End
CommandSet NewLegolasCommandSet
1 = Command_ToggleStance
2 = Command_LegolasHawkStrike
3 = Command_SpecialAbilityTrainArchers;;
4 = Command_LegolasKnifeFightingMode;;
5 = Command_SpecialAbilityArrowStorm
6 = Command_SpellBookEntAllies
12 = Command_CaptureBuilding
13 = Command_AttackMove
14 = Command_Stop
End
Object RohanLegolas;tried with both object rohan and elven legolas
CommandSet = NewLegolasCommandSet
End
Then I tried creating my own ent special power as so....
ExperienceLevel LegolasLevel10
TargetNames = RohanLegolas ElvenLegolas
RequiredExperience = LEGOLAS_LVL10_EXP_NEEDED
ExperienceAward = LEGOLAS_LVL10_EXP_AWARD
AttributeModifiers = HeroLevelUpDamage9
Rank = 10
LevelUpFx = FX:GandalfLevelUp1FX
Upgrades = Upgrade_LegolasArrowWind Upgrade_LegoEnt
;LevelUpOCL = OCL_GandalfLevelUp1OCL
SelectionDecal
Texture = decal_hero_good
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40;16
MaxRadius = 200;16
MaxSelectedUnits = 40;1
End
END
CommandButton Command_SpecialAbilityLegoEnt
Command = SPECIAL_POWER
SpecialPower = SpecialAbilityLegoEnt
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
Upgrade Upgrade_LegoEnt
Type = OBJECT
End
CommandSet NewLegolasCommandSet
1 = Command_ToggleStance
2 = Command_LegolasHawkStrike
3 = Command_SpecialAbilityTrainArchers;;
4 = Command_LegolasKnifeFightingMode;;
5 = Command_SpecialAbilityArrowStorm
6 = Command_SpecialAbilityLegoEnt
12 = Command_CaptureBuilding
13 = Command_AttackMove
14 = Command_Stop
End
SpecialPower SpecialAbilityLegoEnt
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
Object RohanLegolas
AddModule
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_DainSummonEnabler
SpecialPowerTemplate = SpecialAbilityLegoEnt
TriggeredBy = Upgrade_LegoEnt
End
End
AddModule
Behavior = OCLSpecialPower ModuleTag_OCLSpecialPower
SpecialPowerTemplate = SpecialAbilityLegoEnt
OCL = OCL_SpawnEnt
CreateLocation = CREATE_AT_LOCATION
StartsPaused = Yes
End
END
AddModule
Behavior = AISpecialPowerUpdate RoyalGuardAI
CommandButtonName = Command_SpecialAbilityDainSummonRoyalGuard
SpecialPowerAIType = AI_SPECIAL_POWER_TARGETAOE_SUMMON
SpecialPowerRadius = 30.0
End
End
End
ObjectCreationList OCL_SpawnEnt
CreateObject
ObjectNames = RohanGenericEnt
IgnoreCommandPointLimit = Yes
Disposition = LIKE_EXISTING
End
End
The problem is that in both cases, the button does not show up.