Jump to content


Photo

Modding Questions


  • Please log in to reply
66 replies to this topic

#21 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 28 September 2009 - 04:54 PM

It should be in there i suggest looking in the defaultmodelconditionstate or something like that :huh:
Ridder Geel

#22 Black Dragon

Black Dragon

    title available

  • Project Team
  • 304 posts

Posted 28 September 2009 - 05:38 PM

Thanks I got it working although had problems putting the effect in the right part of the ini - Its now working fine. Although if anyone has tips for creativity purposes on making a troll look like its a ghost or any tips on changing the texture to something less troll like.

Basically I've decided to try and give each faction in RJ a unique ring hero, my brother suggested giving Angmar a great troll. So I figured I would try and add a troll that was large and would have a blue mist coming from it. Perhaps considering it either King of the Trolls or a troll spirit or something.

blackdragon.jpg


#23 Black Dragon

Black Dragon

    title available

  • Project Team
  • 304 posts

Posted 28 September 2009 - 08:33 PM

Ignore my request above, I decided to add a standard snow troll with the blue mist about him as the Snow Troll King (creative I know :huh:) however he is working fine except when he dies. His body lingers on the map and sometimes chases those that killed them as if he was alive. I've no idea why he is being difficult I was doing well up until I added the respawn values...but they are a copy of Rogash. This is his code

;//------------------------------------------------------------------------------
;// based on Wild Half-Troll Marauder
Object KingofTrolls

;// *** ART Parameters ***

;// This is required for garrisoned objects - please put in all objects.
ButtonImage = KUSnowTrollIcon
SelectPortrait = KUSnowTrollPortrait

DescriptionStrategic = CONTROLBAR:LW_ToolTip_KingofTrolls

Draw = W3DHordeModelDraw ModuleTag_01

OkToChangeModelColor = No

StaticModelLODMode = Yes

;// specify options for static LODs
LodOptions = LOW
AllowMultipleModels = RJ_ALLOW_MULTIPLE_MODELS_LOW
MaxRandomTextures = RJ_MAX_RANDOM_TEXTURES_LOW
MaxRandomAnimations = RJ_MAX_RANDOM_ANIMATIONS_LOW
MaxAnimFrameDelta = RJ_MAX_ANIM_FRAME_DELTA_LOW
End

LodOptions = MEDIUM
AllowMultipleModels = RJ_ALLOW_MULTIPLE_MODELS_MED
MaxRandomTextures = RJ_MAX_RANDOM_TEXTURES_MED
MaxRandomAnimations = RJ_MAX_RANDOM_ANIMATIONS_MED
MaxAnimFrameDelta = RJ_MAX_ANIM_FRAME_DELTA_MED
End

LodOptions = HIGH
AllowMultipleModels = RJ_ALLOW_MULTIPLE_MODELS_HIGH
MaxRandomTextures = RJ_MAX_RANDOM_TEXTURES_HIGH
MaxRandomAnimations = RJ_MAX_RANDOM_ANIMATIONS_HIGH
MaxAnimFrameDelta = RJ_MAX_ANIM_FRAME_DELTA_HIGH
End

DefaultModelConditionState
Model = KUSnTroll_SKN
Skeleton = KUSnTroll_SKL
WeaponLaunchBone = PRIMARY Firepoint
;Model = HordeMarkIUPik ;MuCavTroll_SKN
ParticleSysBone = None SoWolf_Ambient_fog01
ParticleSysBone = None SoWolf_Ambient_Embers01
ParticleSysBone = "Bip L Finger2" SoWolf_Ambient_fog FollowBone:YES ;"BIP L HAND"
ParticleSysBone = "Bip L Finger2" SoWolf_Ambient_Embers FollowBone:YES
ParticleSysBone = "Bip R Finger2" SoWolf_Ambient_fog FollowBone:YES ;"BIP R HAND"
ParticleSysBone = "Bip R Finger2" SoWolf_Ambient_Embers FollowBone:YES
End

ModelConditionState = COMING_OUT_OF_FACTORY
Model = KUSnTroll_SKN
End


IdleAnimationState
StateName = Bored
Animation = IDLA
AnimationName = KUSnTroll_IDLB
AnimationMode = ONCE
AnimationBlendTime = 15
AnimationPriority = 10
End
Animation = IDLA
AnimationName = KUSnTroll_IDLC
AnimationMode = ONCE
AnimationBlendTime = 15
AnimationPriority = 1
End
Flags = RANDOMSTART
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "STATE_Planted" then CurDrawableSetTransitionAnimState("Trans_Down_To_Up") return end
// if Prev == "Selected" or Prev == "Trans_Down_To_Up" then CurDrawableSetTransitionAnimState("TRANS_SB_Normal") end
EndScript
End


AnimationState = PASSENGER
Animation = Grabbed
AnimationName = KUSnTroll_FLYA
AnimationMode = LOOP
End
End

AnimationState = FREEFALL
StateName = STATE_Falling
Animation = Falling
AnimationName = KUSnTroll_FLYA
AnimationMode = LOOP
AnimationBlendTime = 10
End
End


;--------------------normal animations---------------------------
; --- stunned anims --- ;
AnimationState = STUNNED_FLAILING
Animation = Flying_1
AnimationName = KUSnTroll_FLYA
AnimationMode = LOOP
End
Flags = MAINTAIN_FRAME_ACROSS_STATES2
End

AnimationState = DYING SPLATTED
Animation = Splat
AnimationName = KUSnTroll_LNDA
AnimationMode = ONCE
End
End


; --- death anims --- ;

AnimationState = DYING AFLAME
Animation = Flaming_Death
AnimationName = KUSnTroll_RUNA
AnimationMode = ONCE
End
End

AnimationState = DYING
Animation = Dying_2
AnimationName = KUSnTroll_DIEA
AnimationMode = ONCE
End
End

; AnimationState = DYING
; Animation = Dying_2
; AnimationName = KUSnTroll_SKL.KUSnTroll_DTHA
; AnimationMode = ONCE
; End
; Animation = Dying_2
; AnimationName = KUSnTroll_SKL.KUSnTroll_DTHB
; AnimationMode = ONCE
; End
; End


AnimationState = STUNNED_STANDING_UP
Animation = Standing_Back_Up
AnimationName = KUSnTroll_GTPA
AnimationMode = ONCE
AnimationSpeedFactorRange = 1.5 1.5
End
End

AnimationState = STUNNED
StateName = STATE_Stunned
Animation = Splattered_On_Ground
AnimationName = KUSnTroll_LNDA
AnimationMode = ONCE
End
End


AnimationState = BURNINGDEATH
Animation
AnimationName = KUSnTroll_MFDA
AnimationMode = LOOP
Distance = 120
End
End

AnimationState = PARALYZED
Animation
AnimationName = KUSnTroll_IDLA
AnimationMode = LOOP
End
End

AnimationState = COMING_OUT_OF_FACTORY
Animation = Being_Built
AnimationName = KUSnTroll_RUNA
AnimationMode = LOOP
AnimationBlendTime = 0
End
End


; AnimationState = MOVING FIRING_OR_PREATTACK_A
; Animation = TrotAndFire
; AnimationName = KUSnTroll_SKL.KUSnTroll_ATRA
; AnimationMode = LOOP
; End
; Flags = RANDOMSTART
; ;ParticleSysBone = None InfantryDustTrails
; End


AnimationState = MOVING BACKING_UP
Animation = Moving_Back
AnimationName = KUSnTroll_BAKA
AnimationMode = LOOP
End
End

AnimationState = MOVING EMOTION_AFRAID
Animation = Moving_1
AnimationName = KUSnTroll_RUNA
AnimationMode = LOOP
End
Flags = MAINTAIN_FRAME_ACROSS_STATES
ParticleSysBone = None InfantryDustTrails
End

AnimationState = MOVING EMOTION_ALERT
Animation = Moving_1
AnimationName = KUSnTroll_RUNA
AnimationMode = LOOP
End
Flags = MAINTAIN_FRAME_ACROSS_STATES
ParticleSysBone = None InfantryDustTrails
End

AnimationState = MOVING ATTACKING
Animation = Moving_1
AnimationName = KUSnTroll_RUNA
AnimationMode = LOOP
End
Flags = MAINTAIN_FRAME_ACROSS_STATES
ParticleSysBone = None InfantryDustTrails
End

AnimationState = MOVING ENGAGED
Animation = Moving_1
AnimationName = KUSnTroll_RUNA
AnimationMode = LOOP
End
Flags = MAINTAIN_FRAME_ACROSS_STATES
ParticleSysBone = None InfantryDustTrails
End

AnimationState = MOVING
Flags = RANDOMSTART
Animation = Moving_1
AnimationName = KUSnTroll_RUNA
AnimationMode = LOOP
End
ParticleSysBone = None InfantryDustTrails
End


; --- Attacking --- ;

AnimationState = FIRING_OR_PREATTACK_A
Animation
AnimationName = KUSnTroll_ATKA
AnimationMode = ONCE
UseWeaponTiming = Yes
End
Animation
AnimationName = KUSnTroll_ATKB
AnimationMode = ONCE
UseWeaponTiming = Yes
End
Animation
AnimationName = KUSnTroll_ATKC
AnimationMode = ONCE
UseWeaponTiming = Yes
End
End



; --- emotions --- ;

AnimationState = WAR_CHANT
Animation = Chant
AnimationName = KUSnTroll_IDLA
AnimationMode = LOOP
End
End

AnimationState = EMOTION_AFRAID
Animation = FERA
AnimationName = KUSnTroll_FERA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End

AnimationState = EMOTION_CELEBRATING
Animation = CHRA
AnimationName = KUSnTroll_CHRA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End

AnimationState = EMOTION_TAUNTING
Animation
AnimationName = KUSnTroll_TNTA
AnimationMode = LOOP
End
Animation
AnimationName = KUSnTroll_SKL.KUSnTroll_TNTB
AnimationMode = LOOP
End
Flags = RANDOMSTART
End

AnimationState = EMOTION_POINTING
Animation = Pointing1
AnimationName = KUSnTroll_CHRA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End

AnimationState = EMOTION_ALERT
Animation = ALERT
AnimationName = KUSnTroll_IDLA
AnimationMode = LOOP
End
Flags = RESTART_ANIM_WHEN_COMPLETE MAINTAIN_FRAME_ACROSS_STATES2
; BeginScript
; Prev = CurDrawablePrevAnimationState()
; if Prev == "PikeDown" then CurDrawableSetTransitionAnimState("Trans_Down_To_Up") return end
; EndScript
End

; AnimationState = ATTACKING
; Animation = ALERT
; AnimationName = KUSnTroll_SKL.KUSnTroll_IDLE
; AnimationMode = LOOP
; End
; Flags = RESTART_ANIM_WHEN_COMPLETE MAINTAIN_FRAME_ACROSS_STATES2
; BeginScript
; Prev = CurDrawablePrevAnimationState()
; if Prev == "PikeDown" then CurDrawableSetTransitionAnimState("Trans_Down_To_Up") return end
; EndScript
; End

; AnimationState = ENGAGED
; Animation = ALERT
; AnimationName = KUSnTroll_SKL.KUSnTroll_IDLE
; AnimationMode = LOOP
; End
; Flags = RESTART_ANIM_WHEN_COMPLETE MAINTAIN_FRAME_ACROSS_STATES2
; BeginScript
; Prev = CurDrawablePrevAnimationState()
; if Prev == "PikeDown" then CurDrawableSetTransitionAnimState("Trans_Down_To_Up") return end
; EndScript
; End

; AnimationState = JUST_BUILT
; Animation = Being_Built
; AnimationName = KUSnTroll_SKL.KUSnTroll_BLDA
; AnimationMode = ONCE
; AnimationBlendTime = 0
; End
; End

AnimationState = RAISING_FLAG
Animation = CHRA
AnimationName = KUSnTroll_CHRA
AnimationMode = LOOP
End
End

AnimationState = SELECTED
Animation = Selected_Loop
AnimationName = KUSnTroll_ATNB
AnimationMode = LOOP
AnimationBlendTime = 10
End
StateName = Selected
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "STATE_Planted" then CurDrawableSetTransitionAnimState("Trans_Down_To_Up") return end
if Prev == "Bored" then CurDrawableSetTransitionAnimState("TRANS_BS_Normal") end
EndScript
Flags = RESTART_ANIM_WHEN_COMPLETE
End


; --- transition states --- ;

TransitionState = Trans_Down_To_Up
Animation = Transition
AnimationName = KUSnTroll_PLTC
AnimationMode = ONCE
End
End

TransitionState = Trans_Up_To_Down
Animation = Transition
AnimationName = KUSnTroll_PLTA
AnimationMode = ONCE
End
End

; TransitionState = TRANS_MovingToDown_Alt
; Animation = Transition
; AnimationName = KUSnTroll_SKL.KUSnTroll_PLTC
; AnimationMode = ONCE
; End
; End

; TransitionState = TRANS_SR_Normal
; Animation = Transition
; AnimationName = KUSnTroll_SKL.KUSnTroll_IDLF
; AnimationMode = ONCE
; End
; End

; TransitionState = TRANS_RS_Normal
; Animation = Transition
; AnimationName = KUSnTroll_SKL.KUSnTroll_IDLF
; AnimationMode = ONCE_BACKWARDS
; End
; Flags = START_FRAME_LAST
; End

TransitionState = TRANS_BS_Normal
Animation = Transition
AnimationName = KUSnTroll_ATNA
AnimationMode = ONCE
AnimationBlendTime = 20
AnimationMustCompleteBlend = yes
End
End

TransitionState = TRANS_SB_Normal
Animation = Transition
AnimationName = KUSnTroll_IDLA
AnimationMode = ONCE
AnimationBlendTime = 10
AnimationMustCompleteBlend = yes
End
End

; TransitionState = TRANS_BR_Normal
; Animation = Transition
; AnimationName = KUSnTroll_SKL.KUSnTroll_IDLF
; AnimationMode = ONCE
; End
; End

; TransitionState = TRANS_RB_Normal
; Animation = Transition
; AnimationName = KUSnTroll_SKL.KUSnTroll_IDLF
; AnimationMode = ONCE_BACKWARDS
; End
; Flags = START_FRAME_LAST
; End



TransitionState = TRANS_SR_Alt
End

TransitionState = TRANS_RS_Alt
End

TransitionState = TRANS_BS_Alt
End

TransitionState = TRANS_SB_Alt
End

TransitionState = TRANS_BR_Alt
End

TransitionState = TRANS_RB_Alt
End

End ;Draw


#include "..\..\..\includes\StunDrawModuleLarge.inc"

; ***DESIGN parameters ***

Side = Angmar
EditorSorting = UNIT
ThreatLevel = 1.0
ThingClass = CHARACTER_UNIT
CommandPoints = 1
TransportSlotCount = RJ_TRANSPORTSLOTCOUNT_UNIT
Scale = 2.0
WeaponSet
Conditions = None
Weapon = PRIMARY RogashWarMace ;AngmarSnowTrollPick ;BALANCE Wild Marauder Weapon
End


ArmorSet
Conditions = None
Armor = ToughHeroArmor
DamageFX = NormalDamageFX
End
ArmorSet
Conditions = PLAYER_UPGRADE
Armor = ToughHeroArmor ;SnowTrollHeavyArmor
DamageFX = NormalDamageFX
End

; This is required so that the build phase lasts as long as the anim.
BuildFadeInOnCreateTime = 0 ; 2.0 ;temporarily set to 0

ShroudClearingRange = RJ_ANGMAR_SNOWTROLL_SHROUD_RANGE
VisionRange = RJ_ANGMAR_SNOWTROLL_VISION_RANGE

VisionSide = 35%
VisionRear = 25%

MaxVisionBonusPercent = 300%
VisionBonusTestRadius = 200
VisionBonusPercentPerFoot = 0.5%


BountyValue = RJ_ANGMAR_ROGASH_BOUNTY_VALUE
DisplayName = OBJECT:KingofTrolls
RecruitText = CONTROLBAR:KingofTrolls
ReviveText = CONTROLBAR:KingofTrollsRevive
Hotkey = CONTROLBAR:KingofTrollsHotkey
CrushableLevel = 3 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CrusherLevel = 2
CrushWeapon = SnowTrollCrush

MinCrushVelocityPercent = 50% ; Has to be moving at at least 35% of full speed.
CrushDecelerationPercent = 20% ; Lose 20 percent of max velocity when crushing.

CrushKnockback = 40;
CrushZFactor = 1.3;


CommandSet = KingofTrolls ;AngmarSnowTrollCommandSet

; *** AUDIO Parameters ***;

VoiceAttack = TrollVoiceAttack
VoiceAttackCharge = TrollVoiceAttack
VoiceAttackMachine = TrollVoiceAttack
VoiceAttackStructure = TrollVoiceAttack
VoiceCreated = TrollVoiceAttack
VoiceFullyCreated = TrollVoiceAttack
VoiceGuard = TrollVoiceMove
VoiceMove = TrollVoiceMove
VoiceMoveToCamp = TrollVoiceMove
VoiceMoveWhileAttacking = TrollVoiceMove
VoicePriority = 19
VoiceSelect = TrollVoiceSelect
VoiceSelectBattle = TrollVoiceSelect

SoundImpact = ImpactHorse ;TrollDie

UnitSpecificSounds
VoiceEnterUnitEvilMenTransportShip = TrollVoiceMove
VoiceEnterUnitMordorMumakil = TrollVoiceMove
VoiceEnterUnitSlaughterHouse = TrollVoiceMove
VoiceGarrison = TrollVoiceMove
VoiceInitiateCaptureBuilding = TrollVoiceMove
End

CrowdResponseKey = Uruk

ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
MaxUpdateRangeCap = 800
AnimationSound = Sound:BodyFallOrc Animation:KUSnTroll_DIEA Frames:72
AnimationSound = Sound:BodyFallOrc Animation:KUSnTroll_LNDA Frames:7
; AnimationSound = Sound:BodyFallOrc Animation:WUMaraud_SKL.WUMaraud_DIEC Frames:56
; AnimationSound = Sound:BodyFallOrc Animation:WUMaraud_SKL.WUMaraud_DTHA Frames:23
; AnimationSound = Sound:BodyFallOrc Animation:WUMaraud_SKL.WUMaraud_DTHB Frames:34
; AnimationSound = Sound:BodyFallOrc Animation:WUMaraud_SKL.WUMaraud_LNDD Frames:2
End

ClientBehavior = ModelConditionAudioLoopClientBehavior ModuleTag_foo
ModelCondition = Required:EMOTION_CELEBRATING Excluded:DYING ENGAGED Sound:EmotionMarauderCompilationVoxCheerSinglesLoop ;MOVING ATTACKING
ModelCondition = Required:EMOTION_TAUNTING Excluded:DYING ENGAGED Sound:EmotionMarauderCompilationVoxTauntSinglesLoop ;MOVING ATTACKING
ModelCondition = Required:RAISING_FLAG Excluded:DYING ENGAGED Sound:EmotionMarauderCompilationVoxTauntSinglesLoop
End

#include "..\..\..\includes\StandardUnitEvaEvents.inc"
;EvaEventDieOwner = GroupPikemanDie ;Eva event to trigger on unit's death. NOTICE THAT this is only for permanent deaths
;For deaths you can respawn from, use the DeathFX

Behavior = LargeGroupAudioUpdate ModuleTag_LGAU ;Tie into LargeGroupAudio system
Key = Marauder
End

; *** ENGINEERING Parameters ***

Body = RespawnBody ModuleTag_RespawnBody
CheerRadius = RJ_EMOTION_CHEER_RADIUS
MaxHealth = RJ_ROGASH_HEALTH
PermanentlyKilledByFilter = NONE
DodgePercent = 80%
End

Behavior = RespawnUpdate ModuleTag_RespawnUpdate
DeathAnim = DYING ;Model condition to play when killed-to-respawn
DeathFX = FX_AngmarRogashDieToRespawn ;FXList to play when killed-to-respawn
DeathAnimationTime = 300 ;4100 ;How long DeathAnim will take.
InitialSpawnFX = FX_RogashInitialSpawn
RespawnAnim = LEVELED ;Animation to play when respawning.
RespawnFX = FX_AngmarRogashRespawn ;FXList to play when respawning.
RespawnAnimationTime = 2000 ;Time it takes for respawn to play.
AutoRespawnAtObjectFilter = NONE +CASTLE_KEEP ;Respawn at this location -- and at it's exit production point if possible.
ButtonImage = HIRogash_res

;RespawnEntries determine the ruleset for how a character can be revived. Some units may automatically respawn, others
;may require a specific revive action performed on him. You can specify different values for each level... or use Level:Any
RespawnRules = AutoSpawn:No Cost:1500 Time:60000 Health:100% ;DEFAULT VALUES
RespawnEntry = Level:2 Cost:1500 Time:60000 ; Change from 1.07 ; ;50% cost, 1x buildtime ;For other levels, only override what is different.
RespawnEntry = Level:3 Cost:1500 Time:60000 ; Change from 1.07
RespawnEntry = Level:4 Cost:1500 Time:60000 ; Change from 1.07
RespawnEntry = Level:5 Cost:1950 Time:120000 ; Change from 1.07 ; ;65% cost, 2x buildtime
RespawnEntry = Level:6 Cost:1950 Time:120000 ; Change from 1.07
RespawnEntry = Level:7 Cost:1950 Time:120000 ; Change from 1.07
RespawnEntry = Level:8 Cost:2400 Time:180000 ; Change from 1.07 ; ;80% cost, 3x buildtime
RespawnEntry = Level:9 Cost:2400 Time:180000 ; Change from 1.07
RespawnEntry = Level:10 Cost:2400 Time:180000 ; Change from 1.07
End

RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS SCARY PATH_THROUGH_INFANTRY SCORE THROWN_OBJECT HERO ARMY_SUMMARY ATTACK_NEEDS_LINE_OF_SIGHT HEAVY_MELEE_HITTER ; MONSTER - RJ removed

Body = PorcupineFormationBodyModule ModuleTag_porcupineFormation
CheerRadius = RJ_EMOTION_CHEER_RADIUS
MaxHealth = RJ_ROGASH_HEALTH ;RJ_ANGMAR_SNOWTROLL_HEALTH ;BALANCE Isengard Pikeman Health
;MaxHealthDamaged = RJ_ANGMAR_SNOWTROLL_HEALTH_DAMAGED
RecoveryTime = RJ_WILD_MARAUDER_HEALTH_RECOVERY_TIME
BurningDeathBehavior = Yes
BurningDeathFX = FX_InfantryBurningFlame
End

Behavior = EmotionTrackerUpdate Module_EmotionTracker
AddEmotion = Terror_Base
AddEmotion = Doom_Base
AddEmotion = BraceForBeingCrushed_Base
AddEmotion = UncontrollableFear_Base
// AddEmotion = FearIdle_Base
// AddEmotion = FearBusy_Base
AddEmotion = Point_Base
AddEmotion = Taunt_Base
AddEmotion = CheerIdle_Base
AddEmotion = CheerBusy_Base
AddEmotion = HeroCheerIdle_Base
AddEmotion = HeroCheerBusy_Base
AddEmotion = Alert_Base
End

Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
AILuaEventsList = IsengardFighterFunctions
MoodAttackCheckRate = 500
HoldGroundCloseRangeDistance = 80
AttackPriority = AttackPriority_Spearman
BurningDeathTime = RJ_BURNINGDEATH_DURATION_INFANTRY
End

LocomotorSet
Locomotor = HumanSpecialChargeLocomotor
Condition = SET_NORMAL
Speed = RJ_NORMAL_MOUNTED_SLOW_MEMBER_SPEED
End

; LocomotorSet
; Locomotor = HumanLocomotor
; Condition = SET_NORMAL
; Speed = RJ_NORMAL_WILD_PIKEMEN_MEMBER_SPEED
; End


LocomotorSet
Locomotor = BurningDeathLocomotorInfantry
Condition = SET_BURNINGDEATH
Speed = 75
End

Behavior = PhysicsBehavior ModuleTag_04
GravityMult = 1.0
ShockStunnedTimeLow = 1400 ;msec
ShockStunnedTimeHigh = 2400 ;msec
ShockStandingTime = 2133 ;msec
End

; Doesn't work. We are a melee horde now. So we are just gonna have one weapon
; Behavior = AimWeaponBehavior AimWeaponModuleTag
; AimHighThreshold = 0.15
; End

;--------------------------------SPECIAL ABILITIES--------------------------------------------------
;;;; DARK LORD'S LAMENT SPECIAL ABILITY ;;;;;;;;--------------------------------------------------------------------

Behavior = UnpauseSpecialPowerUpgrade ModuleTag_Lament
SpecialPowerTemplate = SpecialAbilityDarkLordsLament
TriggeredBy = Upgrade_ObjectLevel10
End

Behavior = SpecialPowerModule ModuleTag_LamentStarter
SpecialPowerTemplate = SpecialAbilityDarkLordsLament
UpdateModuleStartsAttack = Yes
StartsPaused = Yes
InitiateSound = BalrogRoar
End

Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_LamentWeaponFireUpdate
SpecialPowerTemplate = SpecialAbilityDarkLordsLament
SpecialWeapon = AngmarDarkLordsLamentWeapon
WhichSpecialWeapon = 2 ; Corresponds to SPECIAL_WEAPON_THREE
StartAbilityRange = 10.0

SkipContinue = Yes
UnpackTime = 1000 ; Trigger on frame 60 (of 100)
PackTime = 2000 ; Remaining 40 frames (of 100)
MustFinishAbility = Yes
End


;----------------------------CHILL SOUL-------------------------------------------------------------------------------------------------------------
Behavior = FireWeaponUpdate ModuleTag_WeaponFiring
FireWeaponNugget
WeaponName = ChillSoulRadiusWeapon
Offset = X:0 Y:0 Z:0
FireDelay = 0
OneShot = No
End
End
;----------------------------------------------------------------------------------------------------------------------------------------
;//--- NEW CHARGE ABILITY ---
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_Charge
SpecialPowerTemplate = SpecialAbilityAngmarCharge
TriggeredBy = Upgrade_ObjectLevel2
End

Behavior = SpecialPowerModule ModuleTag_ChargeStarter
SpecialPowerTemplate = SpecialAbilityAngmarCharge
UpdateModuleStartsAttack = Yes
StartsPaused = Yes
InitiateSound = MarauderVoiceEnterStateAttackCharge
End
#include "..\..\..\includes\AngmarChargeUpdate.inc"



Behavior = SlowDeathBehavior ModuleTag_05
DeathTypes = ALL -KNOCKBACK
SinkDelay = 3000
SinkRate = 4.0 ; in Dist/Sec
DestructionDelay = 8000
Sound = INITIAL MarauderVoxDieMS
End

Behavior = SquishCollide ModuleTag_06
;nothing
End

Behavior = SlowDeathBehavior ModuleTag_07
; Same as normal death, but no sound (sound already played by SoundImpact = ... )
DeathTypes = NONE +KNOCKBACK
SinkDelay = 3000
SinkRate = 0.40 ; in Dist/Sec
DestructionDelay = 8000
Sound = INITIAL MarauderVoxDieMS
End

Behavior = BezierProjectileBehavior ModuleTag_08 ; Module starts asleep, and wakes up when thrown.
FirstHeight = 24 ;Height of Bezier control points above highest intervening terrain
SecondHeight = 24
FirstPercentIndent = 30% ;Percentage of shot distance control points are placed
SecondPercentIndent = 70%
TumbleRandomly = Yes

CrushStyle = Yes ;I don't detonate, I just hit
DieOnImpact = Yes
BounceCount = 1 ;When I hit the ground, I'll arc again
BounceDistance = 40 ;this far
BounceFirstHeight = 24 ;Height of Bezier control points above highest intervening terrain
BounceSecondHeight = 24
BounceFirstPercentIndent = 20% ;Percentage of shot distance control points are placed
BounceSecondPercentIndent = 80%

GroundHitFX = FX_ThrownRockGroundHit
GroundBounceFX = FX_ThrownRockBounceHit
End

Behavior = HordeMemberCollide ModuleTag_HMC
;nothing
End

;Doesn't work. We are a melee horde now. So we are just gonna have one weapon
;Behavior = DualWeaponBehavior ModuleTag_09
; SwitchWeaponOnCloseRangeDistance = 40
;End

Geometry = CYLINDER
GeometryMajorRadius = 10.0
GeometryMinorRadius = 10.0
GeometryHeight = 30
GeometryIsSmall = Yes

Shadow = SHADOW_DECAL
ShadowSizeX = 21;
ShadowSizeY = 21;
ShadowTexture = ShadowI;
End

;--------------------------------------------------------------------------------------------------------------------------------------------------
;
; These child objects are used in the cave troll lair.
;
ChildObject SnowTroll_Slaved AngmarSnowTroll

Side = Neutral

EvaEnemyObjectSightedEvent = CaveTrollCreepSighted ; Special event for cave trolls showing up. Helps distinguish the real enemies from random creeps
EvaEnemyObjectSightedAfterRespawnEvent = CaveTrollCreepSighted ; Event to run after the Cave Troll Lair is respawned. WARNING: This INI field only works for "SlavedUpdate.UseSlaverAsControlForEvaObjectSightedEvents = Yes" units

; Should be the same as AngmarSnowTroll except with CREEP.
KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS CAVALRY PATH_THROUGH_EACH_OTHER SCORE THROWN_OBJECT GRAB_AND_DROP ATTACK_NEEDS_LINE_OF_SIGHT TROLL HORDE_MONSTER CREEP

VisionRange = RJ_CREEP_VISION
DisplayName = OBJECT:GenericSnowTroll

BuildCost = 1;RJ_MORDOR_TROLL_BUILDCOST
BuildTime = 1;RJ_MORDOR_TROLL_BUILDTIME


Behavior = SlavedUpdate ModuleTag_Slave
GuardMaxRange = 250
GuardWanderRange = 80
UseSlaverAsControlForEvaObjectSightedEvents = Yes
End

// Different AIUpdateInterface so it can have different AILuaEventsList
//Behavior = AIUpdateInterface ModuleTag_03
// AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
// AILuaEventsList = CreepTrollFunctions // special version of TrollFunctions that does not start with a rock
// RampageTime = 4470
// AttackPriority = AttackPriority_Cavalry
//End

End


blackdragon.jpg


#24 JUS_SAURON

JUS_SAURON

    El Shaddai

  • Members
  • 1,581 posts
  • Location:Trinidad
  • Projects: BFME2 MOD - Power Of The Ring
  •   INI Coder

Posted 28 September 2009 - 11:23 PM

The troll hero has exp levels in exp.ini ?
He has the correct re-spawn module not Active body module ?
Not sure if the porcupine one should be there :huh:

Edited by JUS_SAURON, 28 September 2009 - 11:27 PM.


#25 Black Dragon

Black Dragon

    title available

  • Project Team
  • 304 posts

Posted 28 September 2009 - 11:28 PM

Sorry I'd not know the difference between the latter. The troll works fine up until he dies then he runs about so yeah his experience levels are same as the Witch King. Its only when he dies he just runs on the spot.

I posted my code above I think I did everything right but obviously i've overlooked something

blackdragon.jpg


#26 JUS_SAURON

JUS_SAURON

    El Shaddai

  • Members
  • 1,581 posts
  • Location:Trinidad
  • Projects: BFME2 MOD - Power Of The Ring
  •   INI Coder

Posted 28 September 2009 - 11:34 PM

Sorry I'd not know the difference between the latter. The troll works fine up until he dies then he runs about so yeah his experience levels are same as the Witch King. Its only when he dies he just runs on the spot.

I posted my code above I think I did everything right but obviously i've overlooked something

Ive not seen the porcupineformation on a HERO before , I'm searching BFME2 Files tho ...
That may be hampering the codes as it contains MaxHEATH =
Which may conflict with the other Respawn body codes

so comment ;;; the porcupine ones and Test

He works fine meaning he can level up and have an EXP RING GLOW thingy when selected ??

#27 Black Dragon

Black Dragon

    title available

  • Project Team
  • 304 posts

Posted 29 September 2009 - 01:17 AM

The formation code was accidentally left in as I used snowtroll.ini as a template for this hero. I commented out as you advised and he dies normal now so thanks you yet again.

What do you mean by the EXP RING GLOW? I always test on low graphics so not sure if thats what I am missing. He does level up yes and gains his abilities accordingly.

You don't know the name of the nazguls that were once included in this game? They were a horde of about 6 nazgul that moved together with a black glow coming from them. If you know what I mean do you also know where I can find the ini that controls these units?

EDIT: I think I found what I was looking for "MordorBlackRiderHorde" including in the mordorhordes.ini - I tried adding these as a buildable hero the icon shows up in the fortress however when build nothing appears. Does anyone know how to add in these black riders as a hero unit?

Edited by Black Dragon, 29 September 2009 - 01:22 AM.

blackdragon.jpg


#28 JUS_SAURON

JUS_SAURON

    El Shaddai

  • Members
  • 1,581 posts
  • Location:Trinidad
  • Projects: BFME2 MOD - Power Of The Ring
  •   INI Coder

Posted 29 September 2009 - 10:48 PM

What do you mean by the EXP RING GLOW? I always test on low graphics so not sure if thats what I am missing. He does level up yes and gains his abilities accordingly.

When you select a unit or a horde , the circle Decal thing that is also selected
It looks red / Blue etc ....
I call it the Experience Ring Glow Thingy ;)
as a unit gets it once it has exp codes

You are playing ROTWK right , A mod of this which has a Blackrider Horde ...
In bfme2 there were Blackrider heroes in Mordor
I suggest you play the unmodified game and see which ones you want
as you will have both BFME2 and ROTWK
Ive not seen a Blackrider Horde tho ..they were always single Heroes

#29 Black Dragon

Black Dragon

    title available

  • Project Team
  • 304 posts

Posted 01 October 2009 - 12:37 PM

Yes he has that :p

-The Black Rider horde was added in Rise of the Witch King, the units would build and roam around as a group of 5-6 with black fog coming off them. It may have been a patch which added this feature but it was definitely added. I will look into this to restore these units (I have a cool idea for them)

-I have another question, could anyone tell me what these values do? I searched the forums but its so hard to find relevant information:

CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
CrusherLevel = 2
CrushWeapon = RogashCrush

MinCrushVelocityPercent = 100% ; Has to be moving at at least % of full speed.
CrushDecelerationPercent = 100% ; Lose percent of max velocity when crushing.
;
CrushKnockback = 40;
CrushZFactor = 1.0;


I made a new troll hero and its crushing things too easily I would like to tone down the damage. Would the damage be controlled by RogashCrush in the weapon.ini?

blackdragon.jpg


#30 Black Dragon

Black Dragon

    title available

  • Project Team
  • 304 posts

Posted 01 October 2009 - 12:45 PM

Figured out the crush

blackdragon.jpg


#31 Black Dragon

Black Dragon

    title available

  • Project Team
  • 304 posts

Posted 01 October 2009 - 09:02 PM

I'm sorry I need some help again. I am trying to add a new ability to Treebeard so that he roars and units around him either STUN (like the Horn of Gondor) or flee (like the Nazgul Screech).

The command button/set are established the icon appears in-game and does activate with the sfx I want. At present (with the code I will post) its set as the Nazgul screech but with the FX of Boromir's horn. So to avoid confusion its screech with a different effect. The ability seems to activiate fine, everything from the sfx to the visual FX plays but there doesn't appear to be any effect for using this ability. Here are my codes:

UNIT.INI
; Fury ---------------------------------------------------------------------------------------------------------------------
	Behavior = UnpauseSpecialPowerUpgrade ModuleTag_EntFuryUnpause
		SpecialPowerTemplate				= SpecialAbilityScreech;SpecialAbilityEntRoar;SpecialAbilityScreech
		TriggeredBy					= Upgrade_ObjectLevel10
		ObeyRechageOnTrigger				= Yes
	End
	Behavior = SpecialPowerModule ModuleTag_EntFuryStart
		SpecialPowerTemplate		= SpecialAbilityScreech;SpecialAbilityEntRoar;SpecialAbilityScreech
		UpdateModuleStartsAttack	= Yes
		TriggerFX			= FX_BoromirHorn;FX_FearBlast
		StartsPaused			= No
	End

	Behavior = SpecialAbilityUpdate ModuleTag_EntFuryUpdate  
		SpecialPowerTemplate		= SpecialAbilityScreech;SpecialAbilityEntRoar;SpecialAbilityScreech
		AwardXPForTriggering		= 0		
		TriggerSound				= SpellEntsSummonRoar
		EffectRange				= 200
		
		UnpackTime				= 1000
		PreparationTime				= 1
		PackTime				= 7000
	End

;Behavior = SquishCollide ModuleTag_Squish
;End

COMMANDBUTTON.INI

CommandButton Command_SpecialAbilityEntRoar;added by shawn
  Command				 = SPECIAL_POWER 
  SpecialPower			= SpecialAbilityScreech;SpecialAbilityEntRoar;SpecialAbilityScreech
  TextLabel			   = CONTROLBAR:Screech
  ButtonImage			 = HITreebeard;HSNazgulScreech
  ButtonBorderType		= ACTION 
  DescriptLabel		   = CONTROLBAR:TooltipScreechWitchKing
  InPalantir			  = Yes
  AutoAbility			  = Yes
  PresetRange			  = 150
End

Please can someone help me out here? I don't get what I've done wrong :huh:

blackdragon.jpg


#32 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 01 October 2009 - 09:33 PM

StartsPaused			= No
should be...
StartsPaused			= Yes
I think :huh:
Ridder Geel

#33 Black Dragon

Black Dragon

    title available

  • Project Team
  • 304 posts

Posted 01 October 2009 - 10:05 PM

I think those functions determine whether the ability is available at the start. However I tried changing that just and it doesn't seem to have had any effect. Also whats strange is that I gave Treebeard the same abilities as Sauron (Terrible Fury) with the correct button and coding inside the unit ini yet that still doesn't seem to work. The sfx/vfx again plays fine but the units themselves don't flee or freeze (depending on the variants I tried)

I'm confused

blackdragon.jpg


#34 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 01 October 2009 - 10:11 PM

Maybe just recreate the ENTIRE POWER :p :huh:
Ridder Geel

#35 Black Dragon

Black Dragon

    title available

  • Project Team
  • 304 posts

Posted 01 October 2009 - 10:18 PM

I pretty much did by giving him Saurons Terrible Fury I think :huh: It was like he was just given the same power as him. Would animations cause a power not to work perhaps? I am modding my RJ installation still so I am wondering if I require a specific anim? Although he does "bend down" when the ability plays (no doubt tied into his primary rock throw attack). Failing this I will try and add Aragorns Elendil ability instead

blackdragon.jpg


#36 Ridder Geel

Ridder Geel

    Master Yelloh

  • T3A Staff
  • 10,852 posts
  • Location:The Netherlands (AKA: Holland)
  • Projects:RC Mod + SEE + RTS Engine
  •  The Dangerous T3A Team Chamber Member
  • Division:BFME
  • Job:T3A Staff

Posted 01 October 2009 - 10:31 PM

Usually the scare stuff are triggered via LUA's give your hero the same lua script (AIUpdate module or something like that) as Sauron or the other hero :huh:
Ridder Geel

#37 JUS_SAURON

JUS_SAURON

    El Shaddai

  • Members
  • 1,581 posts
  • Location:Trinidad
  • Projects: BFME2 MOD - Power Of The Ring
  •   INI Coder

Posted 01 October 2009 - 10:44 PM

you will have to RE-do the Screech power i.e make your own ...

I have done this with a unit of mine before :

This is my patented Ring -Wraith Stare Weapon :huh:

It uses a weapon Template that is button activated
It then fires a weapon with a Terror /Fear module

CODE


;;; FIRE BALL SPECIAL POWER ;;;


Behavior = SpecialPowerModule ModuleTag_FireballStarter
SpecialPowerTemplate = SpecialAbilitySarumanFireball_TOWER
UpdateModuleStartsAttack = Yes
StartsPaused = No
;InitiateSound = SauronVoiceMoveMS
End

Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_FireballUpdate
SpecialPowerTemplate = SpecialAbilitySarumanFireball_TOWER
;WhichSpecialWeapon = 1
SkipContinue = Yes

UnpackTime = 800
PreparationTime = 1
PersistentPrepTime = 1000
PackTime = 100

AwardXPForTriggering = 0

StartAbilityRange = RING_WRAITH_DEATH_STARE_RANGE
MustFinishAbility = Yes
SpecialWeapon = RingWraith_Death_Stare
End

Behavior = AutoAbilityBehavior ModuleTag_FirBallAutoAbility
SpecialAbility = SpecialAbilitySarumanFireball_TOWER
MaxScanRange = #SUBTRACT( RING_WRAITH_DEATH_STARE_RANGE 25 )
Query = 1 ALL ENEMIES -STRUCTURE NOT_CREEP -NeutralGollum -NeutralGollum_RingHero -NeutralGollum_RingStealer
End


The weapon :


CODE


//------------------------------------------------------------------------------
Weapon RingWraith_Death_Stare
AttackRange = RING_WRAITH_DEATH_STARE_RANGE
HitPercentage = 100 //When this weapon is used it will hit exactly 50% of the time.
PreAttackDelay = 1000 //prep time for the unit/structure to fire.
PreAttackType = PER_SHOT //Do the delay each time we attack a new target
FiringDuration = MORDOR_GATEWATCHEREXPANSION_FIRINGDURATION //Duration of the archer firing shot is 500ms.
AcceptableAimDelta = 180.0 //We want to be able to shoot all round, as we cant move.
DelayBetweenShots = 5000
FireFX = FX_NAZGUL_SCREECH

EmotionWeaponNugget
EmotionType = TERROR
Radius = 50
Duration = MORDOR_GATEWATCHEREXPANSION_FEAR_DURATION
SpecialObjectFilter = ALL ENEMIES
End

;There were more stuff but I edited - JUS_SAURON

End



You will probably need a specialpowertemplate

;------------------------------------------------------------------------------
SpecialPower SpecialAbilitySarumanFireball_TOWER
Enum = SPECIAL_SARUMAN_FIRE_BALL
ReloadTime = TOWER_BOLT_RELOAD_TIME
;InitiateAtLocationSound = SarumanFireball
End

Here is the commandbutton ..but you can make your own images etc

CODE

CommandButton Command_UNIT_FEAR
Command = SPECIAL_POWER
SpecialPower = SpecialAbilitySarumanFireball_TOWER
Options = NEED_TARGET_ENEMY_OBJECT NEED_TARGET_ALLY_OBJECT NEED_TARGET_NEUTRAL_OBJECT ; CONTEXTMODE_COMMAND
TextLabel = OBJECT:RINGWRAITH_DEATH_STARE
ButtonImage = HSSauronTerribleFury
ButtonBorderType = ACTION
DescriptLabel = OBJECT:STATUE_TIP ;OBJECT:WK_BOLT10_TIP
; UnitSpecificSound =
CursorName = EvilAbilityObj
InvalidCursorName = GenericInvalid
InPalantir = Yes
; Radial = Yes
AutoAbility = Yes
PresetRange = 200.0
End




That should get you going ...

Edited by JUS_SAURON, 01 October 2009 - 10:59 PM.


#38 Black Dragon

Black Dragon

    title available

  • Project Team
  • 304 posts

Posted 01 October 2009 - 10:53 PM

Thanks for the help, just to clarify your ability you posted JUS "fires" a weapon (a projectile) that causes the fear effect. Would this work if I just wanted to click a button that initiated the fear effect itself? So instead of firing a projectile upon clicking the button it would initiate? Or is your way of doing it a workaround?

Out of curiosity why must the screen ability be re-done? I did initially make my own screech that included:
1) Its own commandbutton.ini section
2) Power section within the unit.ini

Thanks again

blackdragon.jpg


#39 JUS_SAURON

JUS_SAURON

    El Shaddai

  • Members
  • 1,581 posts
  • Location:Trinidad
  • Projects: BFME2 MOD - Power Of The Ring
  •   INI Coder

Posted 01 October 2009 - 11:02 PM

Thanks for the help, just to clarify your ability you posted JUS "fires" a weapon (a projectile) that causes the fear effect. Would this work if I just wanted to click a button that initiated the fear effect itself? So instead of firing a projectile upon clicking the button it would initiate? Or is your way of doing it a workaround?

Out of curiosity why must the screen ability be re-done? I did initially make my own screech that included:
1) Its own commandbutton.ini section
2) Power section within the unit.ini

Thanks again


No projectile here ;)
Works EXACTLY like Nazguls Screech :huh:
You click the button and units run away ,the button is auto-active too :p
Why Sauron's Screen won't work - what Ridder Said plus this way is easier ( for me ) :p


FYI : A Projectile Type weapon has Projectilewarhead etc in it ...not this one :p

Edited by JUS_SAURON, 01 October 2009 - 11:03 PM.


#40 Black Dragon

Black Dragon

    title available

  • Project Team
  • 304 posts

Posted 01 October 2009 - 11:06 PM

Ok cool thanks I will give this a try...Out of curiosity what is a LUA?

blackdragon.jpg



Back to BFME2 & RotWK Modding


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users