Здравствуйте! Авторизуйтесь или зарегистрируйтесь, чтобы использовать полный функционал сайта
Быстрая авторизация через соцсети:

Главная » Статьи » Моддинг » Коддинг
Переделываем способности Эарнура

Лично меня всегда раздрожало то, что у
короля Эарнура те же способности, как у Арагорна.
Сейчас мы это исправим.
!!!!!!!!!ВНИМАНИЕ!!!!!!!!!!!
Обязательно сохраните где-нибудь ini.big
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Первым делом сделаем его играбельным героем.
Заходим в PlayerTemplate.ini находим в любой фракции строку

BuildableHeroesMP

 

И дописываем туда GondorEarnur. Лично я дописал его в Арнор.Чтобы
активировать Арнор найдите строку

PlayableSide = No

 

И измените на

PlayableSide = Yes

 

В итоге строка с героями у меня получилась

BuildableHeroesMP = CreateAHero ArnorArgeleb ArnorArveleg ArnorArvedui ArnorCaptain GondorEarnur

Теперь начнем делать ему абилки. Читайте внимательно!!!!!!!!!!!!

Заходим в CommandSet.ini и ищем

CommandSet GondorEarnurCommandSet

и меняем на это

CommandSet GondorEarnurCommandSet
1 = Command_ToggleStance
2 = Command_RohanEomerOutlawLeadership
3 = Command_EarnurFakeLeadershipButton
4 = Command_SpecialAbilityElendil
5 = Command_SpawnOathbreakers
12 = Command_CaptureBuilding
13 = Command_AttackMove
14 = Command_Stop
16 = Command_SetStanceBattle
17 = Command_SetStanceAggressive
18 = Command_SetStanceHoldGround
End

Далее идем в data/ini/object/goodfactions/units/men/earnur и меняем весь этот файл на этот

Object GondorEarnur
; *** ART Parameters ***

; SelectPortrait for Heros is portrait behind skill buttons. HP = HeroPortrait.
SelectPortrait = HPEarnurPortrait

; ButtonImage for Heros is button image on Hero Select UI to select hero. HI = HeroIcon or HeroImage.
ButtonImage = HIEarnurIcon

DescriptionStrategic = CONTROLBAR:LW_ToolTip_Aragorn

Draw = W3DScriptedModelDraw ModuleTag_DRAW
OkToChangeModelColor = Yes
StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD
ExtraPublicBone = Arrow

DefaultModelConditionState
Model = GUIsildur_SKN
End

ModelConditionState = WEAPONSET_HERO_MODE USER_3
ParticleSysBone = BAT_RIBS BladeMaster FollowBone:Yes
ParticleSysBone = BAT_HEAD AragornElendill FollowBone:Yes
End

ModelConditionState = WEAPONSET_HERO_MODE
ParticleSysBone = BAT_RIBS BladeMaster FollowBone:Yes
End

ModelConditionState = USER_3
ParticleSysBone = BAT_HEAD AragornElendill FollowBone:Yes
End

TransitionState = TRANS_boredToAttention_Elendil
Animation = GUAragorn_ATND
AnimationName = GUAragorn_SKL.GUAragorn_ATND
AnimationMode = ONCE
End
FXEvent = Name: FX_ElendilGlowEvent
End

TransitionState = TRANS_attentionToBored_Elendil
Animation = GUAragorn_ATND
AnimationName = GUAragorn_SKL.GUAragorn_ATND
AnimationMode = ONCE_BACKWARDS
End
FXEvent = Name: FX_ElendilGlowEvent
Flags = START_FRAME_LAST
End

TransitionState = TRANS_boredToAttention
Animation = GUAragorn_ATND
AnimationName = GUAragorn_SKL.GUAragorn_ATND
AnimationMode = ONCE
End
End

TransitionState = TRANS_attentionToBored
Animation = GUAragorn_ATND
AnimationName = GUAragorn_SKL.GUAragorn_ATND
AnimationMode = ONCE_BACKWARDS
End
Flags = START_FRAME_LAST
End

; --- Idle Anims
IdleAnimationState
StateName = STATE_bored

Animation = GUAragorn_IDLE ;no_fidget
AnimationName = GUAragorn_SKL.GUAragorn_IDLE
AnimationMode = ONCE
AnimationPriority = 12
End

Animation = GUAragorn_IDLF ;fidget
AnimationName = GUAragorn_SKL.GUAragorn_IDLF
AnimationMode = ONCE
AnimationPriority = 1
End

BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "STATE_attention" or
Prev == "STATE_running" or
Prev == "OATH_BREAKERS" then CurDrawableSetTransitionAnimState("TRANS_attentionToBored") end
EndScript
End

AnimationState = THROWN_PROJECTILE
Animation = FLYA
AnimationName = GUAragorn_SKL.GUAragorn_FLYA
AnimationMode = LOOP
End
End

AnimationState = STUNNED_FLAILING
Animation = FLYA
AnimationName = GUAragorn_SKL.GUAragorn_FLYA
AnimationMode = LOOP
AnimationSpeedFactorRange = 0.4 0.6
End
End

AnimationState = DYING SPLATTED
Animation = Splatted_On_Ground
AnimationName = GUAragorn_SKL.GUAragorn_LNDA
AnimationMode = ONCE
End
EnteringStateFX = FX_SoldierHitGround
End

; --- Dying anims
AnimationState = DYING
Animation = GUAragorn_DIEA
AnimationName = GUAragorn_SKL.GUAragorn_DIEA
AnimationMode = ONCE
End
Animation = GUAragorn_DIEB
AnimationName = GUAragorn_SKL.GUAragorn_DIEB
AnimationMode = ONCE
End
End

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

AnimationState = STUNNED_STANDING_UP
Animation = GUAragorn_GTPB
AnimationName = GUAragorn_SKL.GUAragorn_GTPB
AnimationMode = ONCE
AnimationSpeedFactorRange = 1.5 1.5
End
End

AnimationState = STUNNED
Animation = LNDA
AnimationName = GUAragorn_SKL.GUAragorn_LNDA
AnimationMode = ONCE
End
EnteringStateFX = FX_SoldierHitGround
End



; --- Attacking Anims [Weapon_A]



AnimationState = MOVING FIRING_OR_PREATTACK_A
ShareAnimation = Yes
Animation = RunAndFire
AnimationName = GUAragorn_SKL.GUAragorn_ATRA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End

AnimationState = FIRING_OR_PREATTACK_A WEAPONSET_HERO_MODE ; Blademaster Mode
StateName = STATE_ready
Animation = ATKF
AnimationName = GUAragorn_SKL.GUAragorn_ATKF
AnimationMode = ONCE
UseWeaponTiming = Yes
End
Flags = RESTART_ANIM_WHEN_COMPLETE
FXEvent = Frame:25 Name: FX_BladeMasterHitOrient
FXEvent = Frame:45 Name: FX_BladeMasterHitOrient
End

AnimationState = FIRING_OR_PREATTACK_A
StateName = STATE_ready
Animation = ATKD
AnimationName = GUAragorn_SKL.GUAragorn_ATKD
AnimationMode = ONCE
UseWeaponTiming = Yes
AnimationPriority = 3
End
Animation = ATKE
AnimationName = GUAragorn_SKL.GUAragorn_ATKE
AnimationMode = ONCE
UseWeaponTiming = Yes
AnimationPriority = 2
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End






; --- Moving Anims
AnimationState = MOVING
StateName = STATE_running

Animation = GUAragorn_RUNB
AnimationName = GUAragorn_SKL.GUAragorn_RUNB
AnimationMode = LOOP
End
End

AnimationState = LEVELED ; This state clears itself in 3 seconds
Animation = LevelUp
AnimationName = GUAragorn_SKL.GUAragorn_ATKO
AnimationMode = ONCE
End
End

AnimationState = SPECIAL_POWER_1 ; Aragorn shouting Elendil anim
StateName = STATE_ready
Animation = GUAragorn_ATKL
AnimationName = GUAragorn_SKL.GUAragorn_ATKL
AnimationMode = ONCE
End
ParticleSysBone = B_SWORDBONE ElendilFlare FollowBone:yes
ParticleSysBone = B_SWORDBONE ElendilSwordFlare FollowBone:yes
; FXEvent = Name: FX_ElendilGlowEvent
End

AnimationState = USER_2
StateName = ATHELAS
Animation = ATKP
AnimationName = GUAragorn_SKL.GUAragorn_ATKP
AnimationMode = ONCE
End
End

AnimationState = USER_1
StateName = OATH_BREAKERS
Animation = ATKN
AnimationName = GUAragorn_SKL.GUAragorn_CHRB
AnimationMode = ONCE
End
End



; --------- Click and Hit Reactions ------------

AnimationState = HIT_REACTION HIT_LEVEL_3
StateName = STATE_bored
Animation = Hit_Level_1_b
AnimationName = GUAragorn_SKL.GUAragorn_HITB
AnimationMode = ONCE
End
End

;----Emotion Animations

AnimationState = EMOTION_CELEBRATING
StateName = STATE_ready
Animation = CHRB
AnimationName = GUAragorn_SKL.GUAragorn_CHRB
AnimationMode = ONCE
AnimationPriority = 1
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End

AnimationState = EMOTION_TAUNTING
StateName = STATE_ready
Animation = CHRB
AnimationName = GUAragorn_SKL.GUAragorn_CHRB
AnimationMode = ONCE
AnimationPriority = 1
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End

AnimationState = EMOTION_ALERT
StateName = STATE_ready
Animation = IDLA
AnimationName = GUAragorn_SKL.GUAragorn_IDLA
AnimationMode = ONCE
AnimationPriority = 1
End
End

AnimationState = EMOTION_MORALE_HIGH
StateName = STATE_ready
Animation = ATKN
AnimationName = GUAragorn_SKL.GUAragorn_ATKN
AnimationMode = ONCE
AnimationPriority = 1
End
Animation = ATKP
AnimationName = GUAragorn_SKL.GUAragorn_ATKP
AnimationMode = ONCE
AnimationPriority = 15
End
Animation = TNTC
AnimationName = GUAragorn_SKL.GUAragorn_TNTD
AnimationMode = ONCE
AnimationPriority = 30
End
Animation = TNTD
AnimationName = GUAragorn_SKL.GUAragorn_TNTD
AnimationMode = ONCE
AnimationPriority = 30
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End

AnimationState = ENGAGED
StateName = STATE_ready
Animation = IDLA
AnimationName = GUAragorn_SKL.GUAragorn_IDLA
AnimationMode = ONCE
UseWeaponTiming = Yes
AnimationPriority = 1
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End

AnimationState = RAISING_FLAG
StateName = STATE_ready
Animation = CHRB
AnimationName = GUAragorn_SKL.GUAragorn_CHRB
AnimationMode = LOOP
End
End

AnimationState = SELECTED
StateName = STATE_attention
Animation = ATNE
AnimationName = GUAragorn_SKL.GUAragorn_ATNE
AnimationMode = LOOP
AnimationBlendTime = 5
AnimationMustCompleteBlend = yes
End
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "STATE_bored" then CurDrawableSetTransitionAnimState("TRANS_boredToAttention") end
EndScript
End

End

#include "..\..\..\includes\StunDrawModuleSmall.inc"

; ***DESIGN parameters ***
Side = Men
EditorSorting = UNIT
ThreatLevel = THEODEN_THREAT_LEVEL
ThingClass = CHARACTER_UNIT
TransportSlotCount = TRANSPORTSLOTCOUNT_HERO

;//DisplayMeleeDamage = ARAGORN_DAMAGE

HeroSortOrder = 20

BuildCost = 1800
BuildTime = 30
MaxSimultaneousOfType = 1
ShockwaveResistance = SHOCKWAVE_RESISTANCE_STRONG
WeaponSet
Conditions = None
Weapon = PRIMARY GondorAragornSword
End
WeaponSet
Conditions = WEAPONSET_HERO_MODE
Weapon = PRIMARY GondorAragornHeroSword
End
WeaponSet
Conditions = PASSENGER_TYPE_ONE
Weapon = SECONDARY GondorAragornDwarfToss
End

ArmorSet
Conditions = None
Armor = HeroArmor
DamageFX = NormalDamageFX
End

VisionRange = VISION_HERO_STANDARD
ShroudClearingRange = SHROUD_CLEAR_HERO
MaxVisionBonusPercent = 300%
VisionBonusTestRadius = 200
VisionBonusPercentPerFoot = 1.0%

BountyValue = GONDOR_ARAGORN_BOUNTY_VALUE
DisplayName = OBJECT:GondorEarnur
RecruitText = CONTROLBAR:GondorBoromirRecruit
ReviveText = OBJECT:GondorEarnurRevive
Hotkey = CONTROLBAR:GondorEarnurHotkey
CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
; CrusherLevel = 1


CommandSet = GondorEarnurCommandSet
CommandPoints = 50

; *** AUTO RESOLVE DATA ***
AutoResolveUnitType = AutoResolveUnit_Hero
AutoResolveCombatChain = AutoResolve_HeroCombatChain

AutoResolveBody = AutoResolve_AragornBody

AutoResolveArmor
Armor = AutoResolve_AragornArmor
End

AutoResolveWeapon
Weapon = AutoResolve_AragornWeapon
End

AutoResolveLeadership = AutoResolve_AragornBonus

; *** AUDIO Parameters ***;

VoiceAttack = EarnurVoiceAttack
VoiceAttackStructure = EarnurVoiceAttackBuilding
VoiceAttackMachine = EarnurVoiceAttack
VoiceAttackCharge = EarnurVoiceAttackCharge
VoiceEnterStateAttack = EarnurVoiceAttack
VoiceEnterStateAttackStructure = EarnurVoiceAttackBuilding
VoiceEnterStateAttackMachine = EarnurVoiceAttack
VoiceEnterStateAttackCharge = EarnurVoiceAttackCharge
VoiceCreated = EarnurVoiceSalute ;this conflicts with his respawn dialogue line -- rehooked to FX_GandalfInitialSpawn
VoiceFear = EarnurVoiceHelpMe
VoiceMove = EarnurVoiceMove
VoiceMoveToCamp = EarnurVoiceMoveCamp
VoiceMoveWhileAttacking = EarnurVoiceMove
VoiceEnterStateMove = EarnurVoiceMove
VoiceEnterStateMoveToCamp = EarnurVoiceMoveCamp
VoiceEnterStateMoveWhileAttacking = EarnurVoiceMove
VoicePriority = 90 ;Default is 5. In mixed groups, Earnur almost always 'wins'
VoiceRetreatToCastle = EarnurVoiceMoveCamp
VoiceEnterStateRetreatToCastle = EarnurVoiceMoveCamp
VoiceSelect = EarnurVoiceSelect
VoiceSelectBattle = EarnurVoiceSelectBattle
VoiceGuard = EarnurVoiceMove

SoundImpact = ImpactHorse

;EarnurVoiceDismissOathbreakers
;EarnurVoiceJoinAnybody

UnitSpecificSounds
VoiceEnterUnitElvenTransportShip = EarnurVoiceMove
VoiceGarrison = EarnurVoiceGarrison
VoiceInitiateCaptureBuilding = EarnurVoiceMove
End

CrowdResponseKey = GoodMen

#include "..\..\..\includes\StandardUnitEvaEvents.inc"
EvaEventDieOwner = EarnurDie ;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 = Humanoid_Male Man Man_Male Unit Infantry Hero
;UnitWeight = 2
End

ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
MaxUpdateRangeCap = 800
AnimationSound = Sound:EarnurVoiceAttackCharge Animation:GUAragorn_SKL.GUAragorn_ATKL Frames:21
;AnimationSound = Sound:AragornVoiceSummonOathbreakers Animation:GUAragorn_SKL.GUAragorn_CHRB Frames:20
; AnimationSound = Sound:EarnurVoiceAttackCharge Animation:GUAragorn_SKL.GUAragorn_ATKL Frames:21
;AnimationSound = Sound:AragornVoiceEnterStateSummonOathbreakers Animation:GUAragorn_SKL.GUAragorn_ATKN Frames:60
AnimationSound = Sound:FootstepDirtA Animation:GUAragorn_SKL.GUAragorn_RUNB Frames:8 17 26 36

AnimationSound = Sound:BodyFallGenericNoArmor Animation:GUAragorn_SKL.GUAragorn_DIEA Frames:55
AnimationSound = Sound:BodyFallGenericNoArmor Animation:GUAragorn_SKL.GUAragorn_DIEB Frames:70
AnimationSound = Sound:BodyFallSoldier Animation:GUAragorn_SKL.GUAragorn_LNDA Frames:1
End

; *** ENGINEERING Parameters ***
RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY PATH_THROUGH_EACH_OTHER SCORE HERO ARMY_SUMMARY ARAGORN HEAVY_MELEE_HITTER
PathfindDiameter = 40.0

Body = RespawnBody ModuleTag_RespawnBody
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = ARAGORN_HEALTH ;BALANCE Aragorn Health
PermanentlyKilledByFilter = NONE ;Who kills me permanently?
DodgePercent = HERO_DODGE_PERCENT
End
Behavior = RespawnUpdate ModuleTag_RespawnUpdate
DeathAnim = DYING ;Model condition to play when killed-to-respawn
DeathFX = FX_EarnurDieToRespawn ;FXList to play when killed-to-respawn
DeathAnimationTime = 3933 ;How long DeathAnim will take.
InitialSpawnFX = FX_EarnurInitialSpawn ;FXList to play when respawning.
RespawnAnim = LEVELED ;Animation to play when respawning.
RespawnFX = FX_ResurrectionEarnur ;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 = HIEarnurRecall

;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:1000 Time:30000 Health:100% ;DEFAULT VALUES
End

Behavior = SubObjectsUpgrade Anduril_Upgrade
TriggeredBy = Upgrade_Anduril
ShowSubObjects = PLANE02
End

; Behavior = SubObjectsUpgrade Costume_01
; TriggeredBy = Upgrade_AragornCostume_01
; UpgradeTexture = guaragorn_2trs.tga 0 guaragorn_rotk.tga
; RecolorHouse = Yes
; End
; Behavior = SubObjectsUpgrade Costume_01a
; TriggeredBy = Upgrade_AragornCostume_01
; UpgradeTexture = guaragfel.tga 0 guaragorn_rotk.tga
; RecolorHouse = Yes
; End
;
; Behavior = SubObjectsUpgrade Costume_02
; TriggeredBy = Upgrade_AragornCostume_02
; UpgradeTexture = guaragorn_rotk.tga 0 guaragfel.tga
; RecolorHouse = Yes
; End
; Behavior = SubObjectsUpgrade Costume_02a
; TriggeredBy = Upgrade_AragornCostume_02
; UpgradeTexture = guaragorn_2trs.tga 0 guaragfel.tga
; RecolorHouse = Yes
; End
;
; Behavior = SubObjectsUpgrade Costume_03
; TriggeredBy = Upgrade_AragornCostume_03
; UpgradeTexture = guaragfel.tga 0 guaragorn_2trs.tga
; RecolorHouse = Yes
; End
; Behavior = SubObjectsUpgrade Costume_03a
; TriggeredBy = Upgrade_AragornCostume_03
; UpgradeTexture = guaragorn_rotk.tga 0 guaragorn_2trs.tga
; RecolorHouse = Yes
; End

Behavior = StancesBehavior ModuleTag_StancesBehavior
StanceTemplate = Hero
End

#include "..\..\..\includes\CaptureBuilding.inc"


Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
MoodAttackCheckRate = 500
AILuaEventsList = AragornFunctions
End

Behavior = EmotionTrackerUpdate Module_EmotionTracker
TauntAndPointDistance = 300
TauntAndPointUpdateDelay = 10000
AddEmotion = Doom_Base
// AddEmotion = BraceForBeingCrushed_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
AddEmotion = CheerForAboutToCrush_Base
End

LocomotorSet
Locomotor = HeroHumanLocomotor
Condition = SET_NORMAL
Speed = NORMAL_GOOD_HERO_SPEED
End

Behavior = PhysicsBehavior ModuleTag_04
GravityMult = 1.0
ShockStandingTime = 2133 ;msec
End

Behavior = SlowDeathBehavior ModuleTag_05
DeathTypes = ALL
SinkDelay = 3000
SinkRate = 0.40 ; in Dist/Sec
DestructionDelay = 8000
Sound = INITIAL AragornVoiceDie
End

Behavior = SquishCollide ModuleTag_06
;nothing
End

;;;;;;;;;;;;;;;;;;;;;; CUT CUT CUT CUT CUT CUT CUT ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Behavior = UnpauseSpecialPowerUpgrade ModuleTag_AragornKnifeAttackEnabler
; SpecialPowerTemplate = SpecialAbilityAragornKnifeAttack
; TriggeredBy = Upgrade_AragornKnifeAttack
; End
; Behavior = SpecialPowerModule ModuleTag_KnifeAttack ; SpecialAbility is a SpecialPower, SpecialPower is anyting special
; SpecialPowerTemplate = SpecialAbilityAragornKnifeAttack
; UpdateModuleStartsAttack = Yes
; StartsPaused = Yes
; End
; Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_KnifeAttackUpdate ; So the difference in SpecialAbility is that it takes timing from this Update, instead of simply firing.
; SpecialPowerTemplate = SpecialAbilityAragornKnifeAttack
;
; UnpackTime = 1300 ; Drawing the horn
; PreparationTime = 1 ; nothing
; PersistentPrepTime = 1600 ; Blowing
; PackTime = 3700 ; Putting horn away
;
; PackSound =
; UnpackSound =
; TriggerSound =
; PrepSoundLoop =
; AwardXPForTriggering = 0
; StartAbilityRange = 300.0
;
; SpecialWeapon = GondorAragornKnifeThrow
; WhichSpecialWeapon = 1
; End
;;;;;;;;;;;;;;;;;;;;;; CUT CUT CUT CUT CUT CUT CUT ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Behavior = UnpauseSpecialPowerUpgrade ModuleTag_AragornOathbreakersEnabler
; SpecialPowerTemplate = SuperweaponSpawnOathbreakers
; TriggeredBy = Upgrade_AragornOathbreakers
; End
;
; Behavior = OCLSpecialPower ModuleTag_OCLSpecialPower
; SpecialPowerTemplate = SuperweaponSpawnOathbreakers
; OCL = OCL_SpawnElvenWarriors
; CreateLocation = CREATE_AT_LOCATION
; StartsPaused = Yes
; SetModelCondition = ModelConditionState:USER_1
; SetModelConditionTime = 8.1
; End

Behavior = UnpauseSpecialPowerUpgrade ModuleTag_AragornBladeMasterEnabler
SpecialPowerTemplate = SpecialAbilityAragornBladeMaster
TriggeredBy = Upgrade_AragornBladeMaster
End

Behavior = SpecialPowerModule ModuleTag_AragornBladeMasterStarter ; SpecialAbility is a SpecialPower, SpecialPower is anyting special
SpecialPowerTemplate = SpecialAbilityAragornBladeMaster
StartsPaused = Yes
End

Behavior = HeroModeSpecialAbilityUpdate ModuleTag_AragornBladeMasterUpdate ; So the difference in SpecialAbility is that it takes timing from this Update, instead of simply firing.
SpecialPowerTemplate = SpecialAbilityAragornBladeMaster
HeroAttributeModifier = AragornBladeMaster
HeroEffectDuration = 30000 ; this should sync with the auto ability delay re-fire time in commandButtons.ini
UnpackTime = 1 ; insant unpack
TriggerSound = AragornBladeMaster
End

Behavior = HitReactionBehavior HitReactionBehaviorModuleTag
HitReactionLifeTimer1 = 100 ; level 1 (light damage) hit reaction animations in ms
HitReactionLifeTimer2 = 1000 ; level 2 (medium damage) hit reaction animations in ms
HitReactionLifeTimer3 = 1993 ; level 3 (heavy damage) hit reaction animations in ms

HitReactionThreshold1 = 0.0 ; level 1 (light damage) threshold trigger
HitReactionThreshold2 = 25.0 ; level 2 (medium damage) threshold trigger
HitReactionThreshold3 = 50.0 ; level 3 (heavy damage) threshold trigger
End

; --------- LEADERSHIP -----------------------------------------------------------------
Behavior = AttributeModifierAuraUpdate ModuleTag_Leadership
StartsActive = No ;If no, requires upgrade to turn on.
BonusName = GenericHeroLeadership
TriggeredBy = Upgrade_AragornLeadership
RefreshDelay = 2000
Range = 200
AntiCategory = BUFF
ObjectFilter = GENERIC_BUFF_RECIPIENT_OBJECT_FILTER
End

Behavior = UnpauseSpecialPowerUpgrade ModuleTag_TheodenLeadership
SpecialPowerTemplate = SpecialAbilityFakeLeadership
TriggeredBy = Upgrade_AragornLeadership
End

Behavior = SpecialPowerModule ModuleTag_TheodenLeadershipUpdate
SpecialPowerTemplate = SpecialAbilityFakeLeadership
UpdateModuleStartsAttack = No
StartsPaused = Yes
End

; --------- ATHELAS -----------------------------------------------------------------
Behavior = SpecialPowerModule ModuleTag_AragornAthelas
SpecialPowerTemplate = SpecialAbilityAragornAthelas
UpdateModuleStartsAttack = Yes
TriggerFX = FX_AragornAthelas
SetModelCondition = ModelConditionState:USER_2
SetModelConditionTime = 2.1
End

Behavior = SpecialAbilityUpdate ModuleTag_AragornAthelasUpdate
SpecialPowerTemplate = SpecialAbilityAragornAthelas
StartAbilityRange = 1.6
UnpackTime = 1 ; Nothing to touching it
PreparationTime = 3 ; touching it to grabbing it
PackTime = 2096 ; whacking it to holding it nice
AwardXPForTriggering = 0
End

Behavior = AutoAbilityBehavior ModuleTag_AthelasAutoAbility
SpecialAbility = SpecialAbilityAragornAthelas
MaxScanRange = 150
Query = 1 NONE +HERO ALLIES
End

; --------- ELENDIL -----------------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_EnableElendil
SpecialPowerTemplate = SpecialAbilityAragornElendil
TriggeredBy = Upgrade_AragornElendil
End

Behavior = SpecialPowerModule ModuleTag_ElendilStarter
SpecialPowerTemplate = SpecialAbilityAragornElendil
UpdateModuleStartsAttack = Yes
AntiCategory = LEADERSHIP
AttributeModifier = AragornElendilAntiCategory ; Used for the anti category duration only.
AttributeModifierRange = 200.0
StartsPaused = Yes ; obtained on level 2
SetModelCondition = ModelConditionState:USER_3
SetModelConditionTime = 10.0 ; 10 secs of glow anim for sword
End

Behavior = ModelConditionSpecialAbilityUpdate ModuleTag_ElendilUpdate
SpecialPowerTemplate = SpecialAbilityAragornElendil
UnpackTime = 1400 ; Drawing the horn
PreparationTime = 1 ; nothing
PersistentPrepTime = 1000 ; Blowing
PackTime = 1000 ; Putting horn away

GenerateTerror = Yes
EmotionPulseRadius = 180
ObjectFilter = ELENDIL_OBJECT_FILTER
AwardXPForTriggering = 0
End

; Athelas needs to be first because the special power just turns on the first one it finds. No time to fix it better.
Behavior = AutoHealBehavior ModuleTag_AthelasHealing
StartsActive = Yes ; Active, as in no upgrade required
ButtonTriggered = Yes ; But doesn't actually run on its own.
HealingAmount = ATHELAS_HEAL_AMOUNT
Radius = 200
HealOnlyOthers = No
SingleBurst = Yes
UnitHealPulseFX = FX_AragornAthelas
KindOf = HERO
End

Behavior = AutoHealBehavior ModuleTag_ElvenGiftHealing
StartsActive = No
TriggeredBy = Upgrade_ElvenGift
HealingAmount = ELVEN_GIFT_REGEN_AMOUNT
HealingDelay = ELVEN_GIFT_REGEN_DELAY
StartHealingDelay = HERO_HEAL_DELAY
HealOnlyIfNotInCombat = Yes
End

Behavior = AttributeModifierUpgrade ModuleTag_ElvenGiftBonus
TriggeredBy = Upgrade_ElvenGift
AttributeModifier = SpellBookElvenGifts
End

Behavior = AttributeModifierUpgrade ModuleTag_AndurilBonus
TriggeredBy = Upgrade_Anduril
AttributeModifier = SpellBookAnduril
End

Behavior = AutoHealBehavior ModuleTag_AragornHealing
StartsActive = Yes
HealingAmount = HERO_HEAL_AMOUNT
HealingDelay = 1000
StartHealingDelay = HERO_HEAL_DELAY
HealOnlyIfNotInCombat = Yes
End

Behavior = AutoAbilityBehavior ModuleTag_AutoAbilityBehavior
End

;;; PASSIVE OUTLAW LEADERSHIP ;;;
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_TheodenLeadership2
SpecialPowerTemplate = SpecialAbilityFakeLeadership2
TriggeredBy = Upgrade_EomerOutlawLeader
End
Behavior = SpecialPowerModule ModuleTag_TheodenLeadershipUpdate2
SpecialPowerTemplate = SpecialAbilityFakeLeadership2
UpdateModuleStartsAttack = No
StartsPaused = Yes
End
Behavior = AttributeModifierAuraUpdate ModuleTag_Leadership2
StartsActive = No ;If no, requires upgrade to turn on.
BonusName = EomerPassiveOutlawLeadership
TriggeredBy = Upgrade_EomerOutlawLeader
RefreshDelay = 2000
Range = 200
AllowSelf = Yes
ObjectFilter = ANY +CAVALRY +INFANTRY -STRUCTURE -BASE_FOUNDATION -DOZER
End

Behavior = UnpauseSpecialPowerUpgrade ModuleTag_AragornOathbreakersEnabler
SpecialPowerTemplate = SuperweaponSpawnOathbreakers
TriggeredBy = Upgrade_AragornOathbreakers
End

Behavior = OCLSpecialPower ModuleTag_OCLSpecialPower
SpecialPowerTemplate = SuperweaponSpawnOathbreakers
OCL = OCL_CreateAHeroHotWSpawnAllies_Level4
CreateLocation = CREATE_AT_LOCATION
StartsPaused = Yes
SetModelCondition = ModelConditionState:USER_1
SetModelConditionTime = 8.1
End



;///////////////////
; AISpecialPowers
;///////////////////

Behavior = AISpecialPowerUpdate GondorFighterHordeStanceBattle
CommandButtonName = Command_SetStanceBattle
SpecialPowerAIType = AI_SPECIAL_POWER_STANCEBATTLE
End

Behavior = AISpecialPowerUpdate GondorFighterHordeStanceAggressive
CommandButtonName = Command_SetStanceAggressive
SpecialPowerAIType = AI_SPECIAL_POWER_STANCEAGGRESSIVE
End

Behavior = AISpecialPowerUpdate GondorFighterHordeHoldGround
CommandButtonName = Command_SetStanceHoldGround
SpecialPowerAIType = AI_SPECIAL_POWER_STANCEHOLDGROUND
End


Behavior = AISpecialPowerUpdate AragornBladeMasterAI
CommandButtonName = Command_SpecialAbilityBladeMaster
SpecialPowerAIType = AI_SPECIAL_POWER_BASIC_SELF_BUFF
End

Behavior = AISpecialPowerUpdate AragornElendilAI
CommandButtonName = Command_SpecialAbilityElendil
SpecialPowerAIType = AI_SPECIAL_POWER_ELENDIL
SpecialPowerRadius = 200;
End

Behavior = AISpecialPowerUpdate SpecialPowerAragornAthelas
CommandButtonName = Command_SpecialAbilityAthelas
SpecialPowerAIType = AI_SPECIAL_POWER_SELFAOEHEALHEROS
SpecialPowerRadius = 30.0
End


Geometry = CYLINDER
GeometryMajorRadius = 8.0
GeometryMinorRadius = 8.0
GeometryHeight = 19.2
GeometryIsSmall = Yes
Shadow = SHADOW_DECAL
ShadowSizeX = 20;
ShadowSizeY = 20;
ShadowTexture = ShadowI;
End

 

Теперь заходим в data/ini/experiencelevels.ini
и вставляем туда это

;---------------------- EARNUR -------------------------------------

ExperienceLevel EarnurLevelMP1
TargetNames = GondorEarnur
RequiredExperience = 1
ExperienceAward = ARAGORN_LVL1_EXP_AWARD
Rank = 1
SelectionDecal
Texture = decal_hero_good
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
End

ExperienceLevel EarnurLevelMP2
TargetNames = GondorEarnur
RequiredExperience = ARAGORN_LVL2_EXP_NEEDED
ExperienceAward = ARAGORN_LVL2_EXP_AWARD
LevelUpFx = FX:GandalfLevelUp1FX
;LevelUpOCL = OCL_GandalfLevelUp1OCL
Rank = 2
Upgrades = Upgrade_EomerOutlawLeader
AttributeModifiers = HeroLevelUpDamage1
SelectionDecal
Texture = decal_hero_good
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
End

ExperienceLevel EarnurLevelMP3
TargetNames = GondorEarnur
RequiredExperience = ARAGORN_LVL3_EXP_NEEDED
ExperienceAward = ARAGORN_LVL3_EXP_AWARD
LevelUpFx = FX:GandalfLevelUp1FX
;LevelUpOCL = OCL_GandalfLevelUp1OCL
Rank = 3
AttributeModifiers = HeroLevelUpDamage2
SelectionDecal
Texture = decal_hero_good
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
End

ExperienceLevel EarnurLevelMP4
TargetNames = GondorEarnur
RequiredExperience = ARAGORN_LVL4_EXP_NEEDED
ExperienceAward = ARAGORN_LVL4_EXP_AWARD
LevelUpFx = FX:GandalfLevelUp1FX
;LevelUpOCL = OCL_GandalfLevelUp1OCL
Rank = 4
Upgrades = Upgrade_AragornLeadership
AttributeModifiers = HeroLevelUpDamage3
SelectionDecal
Texture = decal_hero_good
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
End

ExperienceLevel EarnurLevelMP5
TargetNames = GondorEarnur
RequiredExperience = ARAGORN_LVL5_EXP_NEEDED
ExperienceAward = ARAGORN_LVL5_EXP_AWARD
LevelUpFx = FX:GandalfLevelUp1FX
;LevelUpOCL = OCL_GandalfLevelUp1OCL
Rank = 5
AttributeModifiers = HeroLevelUpDamage4
SelectionDecal
Texture = decal_hero_good
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
End

ExperienceLevel EarnurLevelMP6
TargetNames = GondorEarnur
RequiredExperience = ARAGORN_LVL6_EXP_NEEDED
ExperienceAward = ARAGORN_LVL6_EXP_AWARD
LevelUpFx = FX:GandalfLevelUp1FX
;LevelUpOCL = OCL_GandalfLevelUp1OCL
Rank = 6
AttributeModifiers = HeroLevelUpDamage5
Upgrades = Upgrade_AragornElendil
SelectionDecal
Texture = decal_hero_good
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
End

ExperienceLevel EarnurLevelMP7
TargetNames = GondorEarnur
RequiredExperience = ARAGORN_LVL7_EXP_NEEDED
ExperienceAward = ARAGORN_LVL7_EXP_AWARD
LevelUpFx = FX:GandalfLevelUp1FX
;LevelUpOCL = OCL_GandalfLevelUp1OCL
Rank = 7
AttributeModifiers = HeroLevelUpDamage6
SelectionDecal
Texture = decal_hero_good
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
End

ExperienceLevel EarnurLevelMP8
TargetNames = GondorEarnur
RequiredExperience = ARAGORN_LVL8_EXP_NEEDED
ExperienceAward = ARAGORN_LVL8_EXP_AWARD
LevelUpFx = FX:GandalfLevelUp1FX
;LevelUpOCL = OCL_GandalfLevelUp1OCL
Rank = 8
AttributeModifiers = HeroLevelUpDamage7
SelectionDecal
Texture = decal_hero_good
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
End

ExperienceLevel EarnurLevelMP9
TargetNames = GondorEarnur
RequiredExperience = ARAGORN_LVL9_EXP_NEEDED
ExperienceAward = ARAGORN_LVL9_EXP_AWARD
LevelUpFx = FX:GandalfLevelUp1FX
;LevelUpOCL = OCL_GandalfLevelUp1OCL
Rank = 9
AttributeModifiers = HeroLevelUpDamage8
SelectionDecal
Texture = decal_hero_good
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
End

ExperienceLevel EarnurLevelMP10
TargetNames = GondorEarnur
RequiredExperience = ARAGORN_LVL10_EXP_NEEDED
ExperienceAward = ARAGORN_LVL10_EXP_AWARD
LevelUpFx = FX:GandalfLevelUp1FX
;LevelUpOCL = OCL_GandalfLevelUp1OCL
Rank = 10
Upgrades = Upgrade_AragornOathbreakers
AttributeModifiers = HeroLevelUpDamage9
SelectionDecal
Texture = decal_hero_good
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
End

 

Далее в этом-же файле находим строку

#define ARAGORN GondorAragornMP GondorAragorn GondorEarnur

 

и удаляем GondorEarnur

 

Теперь у Эарнура своя стоимость, система опыта и способности.
На 2 уровне у него Трофеи, а на 10 призыв союзников(правда, иконка от Мертвых).




Оценить:
Просмотров: 2862 | Комментарии: 6 | Рейтинг: 3.9/7
Категория: Коддинг | Добавил: Ламберт (12.01.2012)
ПОХОЖИЕ МАТЕРИАЛЫ

Всего комментариев: 6
avatar
6 SauronGreat • 12:03, 06.01.2013
В иник тоже добавили способность? Или только в командсет и командбатон?
avatar
5 Юрий • 00:46, 06.01.2013
как это исправить помогите пожалуйста за рание благодарен
avatar
4 Юрий • 00:46, 06.01.2013
ВСЕМ ПРИВЕТ я совсем чайник в этом деле !!и мне нужна помощ в добавлении способности персанажу Ugluk, мородёр(сбор ресурсов при убийстве)я зделал ему абильки от луртца и у него загорелась иконка мородёра но она не работо способна
avatar
3 Ламберт • 13:51, 14.01.2012
Ну а у меня все выравнено dntknw
Хотя работает даже с выравниванием - я проверял
avatar
2 SauronGreat • 19:18, 12.01.2012
Хм, странно) У меня всё было нормально с выравниванием, сам можешь посмотреть :)
avatar
1 Ламберт • 17:00, 12.01.2012
Плохо, конечно, что все выравнено по левому краю,
но вроде все работает - я проверял.
avatar