Jump to content


The Shadow

Member Since 23 Jul 2009
Offline Last Active Private

Posts I've Made

In Topic: Isengard

05 October 2009 - 08:46 PM

Is any of this in the current release? (1.03 I think)

Alright, combo hordes & formations are back! Are you gonna add these abilities to the other factions as well? And can combo hordes split apart?
The new models/skins look AWESOME! Shame I'll never be able to see them in game (my computer only runs on medium :) )

And, how do you make those sweet black forged blades? I could probably find a few uses for an effect like that...

In Topic: Nert's Coding Questions

10 August 2009 - 06:48 PM

It may have something to do with the fact that it's a spell book power. In fact, I can't think of a single instance where the NEED_TARGET_ENEMY_OBJECT option was used with a SPELL_BOOK command. The only ones I've seen are NONPRESSABLE (for passive powers) and NEED_TARGET_POS (for summons, and pretty much everyting else). Some powers are missing an "Options =" line entirely; these are click-to-activate powers, like CloudBreak and Call the Horde.

You may want to try basing your powers on war chant, instead. It's not exactly like what I think you want, but it will still respect your AttributeModifierAffects kindof, and can be targeted, just not at a specific unit. You could make the radius pretty small to compensate.

In Topic: RenX/modeling-skining problem.

28 July 2009 - 01:17 AM

Normal maps are used to give the appearance of "depth" to an ordinarily flat skin. It's present on most BFME2/ROTWK buildings. Any building that originates from BFME1 (the gondor barracks, for example) don't have normal maps.
RenX doesn't support normal maps, so when you attempt to import a normal-mapped building, RenX freaks out - hence the screwed up mapping.

In order to import BFME2/ROTWK buildings into RenX, use this tutorial: Link

In Topic: Adding custom audio to an ability/spell

28 July 2009 - 01:06 AM

Audio doesn't have to be added to asset.dat. Just place your .wav files into data/audio/sounds, and reference them in the ini.

In Topic: Nert's Coding Questions

23 July 2009 - 01:04 AM

Here's a possible solution to the raven vision bonus problem (if you haven't found one already):

In the raven's ini:
CODE
Behavior = ObjectCreationUpgrade VisionBonus
TriggeredBy = Upgrade_RavenSight
ConflictsWith = Upgrade_RavenSpeed Upgrade_RavenStealth
Delay = 0.0

RemoveUpgrade = Upgrade_RavenSpeed Upgrade_RavenStealth
ThingToSpawn = DwarfRavenSightObject
Offset = X:0.0 Y:0.0 Z:0.0
FadeInTime = 0
End

Behavior = SlaveWatcherBehavior WatcherForVisionLoss
RemoveUpgrade = Upgrade_RavenSight
End

Behavior = ObjectCreationUpgrade RemoveVisionBonus_1
TriggeredBy = Upgrade_RavenSpeed
ConflictsWith = Upgrade_RavenSight Upgrade_RavenStealth
Delay = 0.0
ThingToSpawn = DwarfRavenSightKillerEgg
Offset = X:0.0 Y:0.0 Z:0.0
FadeInTime = 0
End

Behavior = ObjectCreationUpgrade RemoveVisionBonus_2
TriggeredBy = Upgrade_RavenStealth
ConflictsWith = Upgrade_RavenSight Upgrade_RavenSpeed
Delay = 0.0
ThingToSpawn = DwarfRavenSightKillerEgg
Offset = X:0.0 Y:0.0 Z:0.0
FadeInTime = 0
End


Two new objects:
CODE
;------------------------------------------------------------------------------
Object DwarfRavenSightObject
Draw = W3DScriptedModelDraw ModuleTag_Draw
DefaultModelConditionState
Model = None
End
End

ShroudClearingRange = 100

Side = Neutral
EditorSorting = UNIT
ThreatLevel = 2.0
TransportSlotCount = 1
CrushableLevel = 5 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CrusherLevel = 0
IsTrainable = No

RadarPriority = NOT_ON_RADAR
ThingClass = CHARACTER_UNIT
KindOf = PRELOAD IGNORE_FOR_VICTORY IGNORES_SELECT_ALL CREEP NOT_AUTOACQUIRABLE ;UNATTACKABLE

ArmorSet
Conditions = None
Armor = NoArmor
DamageFX = NormalDamageFX
End

Body = ActiveBody ModuleTag_MakesKillWork
MaxHealth = 10000
End

Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
AILuaEventsList = WargRiderFunctions
End

LocomotorSet
Locomotor = FellBeastLocomotor
Condition = SET_NORMAL
Speed = 999
End

Behavior = SlavedUpdate ModuleTag_Slave
GuardMaxRange = 2
GuardWanderRange = 1
End
End

;------------------------------------------------------------------------------
Object DwarfRavenSightKillerEgg
Draw = W3DScriptedModelDraw ModuleTag_Draw
DefaultModelConditionState
Model = None
End
End
KindOf = INERT IMMOBILE UNATTACKABLE

Body = ActiveBody ModuleTag_MakesKillWork
MaxHealth = 1
End
Behavior = LifetimeUpdate ModuleTag_HatchTrigger
MinLifetime = 0.0
MaxLifetime = 0.0
End
;Behavior = SlowDeathBehavior ModuleTag_HatchProcess
; DestructionDelay = 4000
; FX = INITIAL FX_BalrogSummoningStart
; FX = FINAL FX_BalrogSummoningFinish
; OCL = FINAL OCL_BalrogSummoningFinish
; Weapon = FINAL BalrogSummoning
;End
Behavior = FireWeaponWhenDeadBehavior ModuleTag_07
StartsActive = Yes
DeathWeapon = DwarfRavenSightKillerWeapon
End
End


In weapon.ini:
CODE
;------------------------------------------------------------------------------
Weapon DwarfRavenSightKillerWeapon
DamageNugget ; A basic Nugget that just does damage
Damage = 1
Radius = 999999.0
DelayTime = 0
DamageType = FORCE
DeathType = NORMAL
DamageScalar = 9999999% NONE +DwarfRavenSightObject
End
End


Set the ShroudClearingRange of the DwarfRavenSightObject to whatever you want the new vision range to be.

What the above code (should) do: upon purchasing the upgrade, the raven spawns a new, invisible object (DwarfRavenSightObject), which has a larger ShroudClearingRange, thus making it appear that the raven's sight has been upgraded. The DwarfRavenSightObject is a slave of the raven, so it'll follow the raven around the map. The small ranges in the SlavedUpdate, combined with the object's high speed, should ensure that it will mirror the raven's every move.
When a different upgrade is purchased, another object is spawned (DwarfRavenSightKillerEgg), which dies immediately and fires a weapon that destroys all DwarfRavenSightObject units on the map. The SlaveWatcherBehavior in the raven's ini causes the sight upgrade to be removed when the raven's sight object is killed.

It's a rather complex, convoluted solution, but it's also the only one I could come up with.