Imladris production
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Imladris production

Le forum français de création de cartes et de mods pour Bataille pour la Terre du Milieu
 
AccueilRechercherDernières imagesS'enregistrerConnexion
-28%
Le deal à ne pas rater :
Brandt LVE127J – Lave-vaisselle encastrable 12 couverts – L60cm
279.99 € 390.99 €
Voir le deal

 

 DwarvenGloin_Temp

Aller en bas 
2 participants
AuteurMessage
gandalf77
Moddeur confirmé
Moddeur confirmé
gandalf77


Nombre de messages : 202
Add-On : Oui
Date d'inscription : 09/08/2009

DwarvenGloin_Temp Empty
MessageSujet: DwarvenGloin_Temp   DwarvenGloin_Temp Icon_minitimeVen 22 Juil - 16:32

Slt
En faite j'ai remarquer dans le fichier ini de "Gloin" se trouve un autre object qui est "DwarvenGloin_Temp"
Le truc est que il ne possède ni animation, ni squelette, ni même une arme...
Il a juste un modèle fixe..
J'ai donc essayé de compléter avec les animations et squelette du "vrai" Gloin mais ça ne marche pas..
Donc je sais pas si quelqu'un saurait qu'est ce qu'il faut rajouter pour qu'il soit utilisable, svp?
Revenir en haut Aller en bas
Leithian...
Moddeur expert
Moddeur expert
Leithian...


Nombre de messages : 750
Age : 31
Location : @ Home ! =D
Add-On : Quelle question, bien sûr que non !
Date d'inscription : 03/03/2010

DwarvenGloin_Temp Empty
MessageSujet: Re: DwarvenGloin_Temp   DwarvenGloin_Temp Icon_minitimeVen 22 Juil - 16:40

Poste le code de ton fichier on sera plus aptes à comprendre là où ça plante et donc à t'aider Wink

Sinon ce que je ferai ça serait de créer un nouveau fichier ini du nom de "DwarvenGloin_Temp.ini", j'y copierai tout le code de l'objet "Gloïn" ( sans la partie de la fin "DwarvenGloin_Temp..." ), puis je remplacerai le nom du model par celui que tu as ( semble-t-il ) dans le morceau de code incomplet de "DwarvenGloin_Temp". Ensuite Changer le nom de l'object, en mettant par exemple "Object DwarvenGloin_Temp", puis je l'ajouterai dans le camp des nains en passant par le playertemplate.ini pour pouvoir le recruter dans le jeu ^^ Mais poste ton code ça vaut mieux on y verra tous plus clair, toi compris Wink
Revenir en haut Aller en bas
https://vexod14.artstation.com
gandalf77
Moddeur confirmé
Moddeur confirmé
gandalf77


Nombre de messages : 202
Add-On : Oui
Date d'inscription : 09/08/2009

DwarvenGloin_Temp Empty
MessageSujet: Re: DwarvenGloin_Temp   DwarvenGloin_Temp Icon_minitimeVen 22 Juil - 16:56

Oui tu as raison lol c'est trop confus sinon alors la c'est le code de "Gloin_Temp" :

Object DwarvenGloin_Temp

; *** ART Parameters ***

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

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

;ShadowMaxHeight = 999 ;this is causing 2 shadows to be cast when the unit is under a bridge. Taking it out!
Draw = W3DScriptedModelDraw ModuleTag_01

OkToChangeModelColor = Yes


StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD

;;====================== MODELS ================================================================
DefaultModelConditionState
Model = EUDwarfGlo
End


;;================== ANIMATIONS =================================================================


;;================== END ANIMATIONS =================================================================

End

; ***DESIGN parameters ***
Side = Dwarves
EditorSorting = UNIT
ThreatLevel = 5.0
TransportSlotCount = TRANSPORTSLOTCOUNT_HERO
BuildCost = GLOIN_BUILDCOST
BuildTime = GLOIN_BUILDTIME

;//DisplayMeleeDamage = GLOIN_DAMAGE

HeroSortOrder = 40

WeaponSet
Conditions = None
Weapon = PRIMARY GloinAxe
End

ArmorSet
Conditions = None
Armor = ToughHeroArmor
DamageFX = NormalDamageFX
End
VisionRange = VISION_STANDARD_MELEE
ShroudClearingRange = SHROUD_CLEAR_STANDARD

BountyValue = 30
DisplayName = OBJECT:Gloin
RecruitText = CONTROLBAR:GloinRecruit
ReviveText = CONTROLBAR:GloinRevive
Hotkey = CONTROLBAR:GloinHotkey
CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
; CrusherLevel = 1

CommandSet = GloinCommandSet
CommandPoints = 0


; *** AUDIO Parameters ***;

; VoiceAmbushed = GloinVoiceAmbushed
; VoiceAttack = GloinVoiceAttack
; VoiceAttackCharge = GloinVoiceAttackCharge
; VoiceAttackMachine = GloinVoiceAttack
; VoiceAttackStructure = GloinVoiceAttack
; ;VoiceCreated = GloinVoiceSalute ;this conflicts with his respawn dialogue line -- rehooked to spawn FX
; VoiceFear = GloinVoiceHelpMe
; VoiceMove = GloinVoiceMove
; VoiceMoveToCamp = GloinVoiceMove
; VoiceMoveWhileAttacking = GloinVoiceDisengage
; VoicePriority = 67
; VoiceRetreatToCastle = GloinVoiceRetreat
; VoiceSelect = GloinVoiceSelectMS
; VoiceSelectBattle = GloinVoiceSelectBattle
; VoiceGuard = GloinVoiceMove

SoundImpact = ImpactHorse

; UnitSpecificSounds
; VoiceGarrison = GloinVoiceGarrison
; End

#include "..\..\..\includes\StandardUnitEvaEvents.inc"
; EvaEventDieOwner = GloinDie ;Eva event to trigger on unit's death. NOTICE THAT this is only for permanent deaths

Behavior = LargeGroupAudioUpdate ModuleTag_LGAU ; Tie into LargeGroupAudio system
Key = Dwarf Unit Infantry Hero
End

ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
MaxUpdateRangeCap = 800
AnimationSound = Sound:FootstepDirtA Animation:DUGloin_SKL.DUGloin_RUNA Frames:3 14
AnimationSound = Sound:FootstepDirtA Animation:DUGloin_SKL.DUGloin_RUNB Frames:3 12

AnimationSound = Sound:BodyFallSoldier Animation:DUGloin_SKL.DUGloin_LNDA Frames:2

AnimationSound = Sound:BodyFallGenericNoArmor Animation:DUGloin_SKL.DUGloin_DIEA Frames:11
AnimationSound = Sound:BodyFallGenericNoArmor Animation:DUGloin_SKL.DUGloin_DIEC Frames:59
End


; *** ENGINEERING Parameters ***

RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY PATH_THROUGH_EACH_OTHER SCORE THROWN_OBJECT HERO ARMY_SUMMARY ATTACK_NEEDS_LINE_OF_SIGHT
PathfindDiameter = 40.0

Body = RespawnBody ModuleTag_RespawnBody
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = GLOIN_HEALTH
PermanentlyKilledByFilter = NONE ;Who kills me permanently?
DodgePercent = 80%
End

Behavior = RespawnUpdate ModuleTag_RespawnUpdate
DeathAnim = DYING ;Model condition to play when killed-to-respawn
DeathFX = FX_GimliDieToRespawn ;FXList to play when killed-to-respawn
DeathAnimationTime = 4100 ;How long DeathAnim will take.
InitialSpawnFX = FX_GimliInitialSpawn
RespawnAnim = LEVELED ;Animation to play when respawning.
RespawnFX = FX_GimliRespawn ;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 = HIGloin

;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:900 Time:90000 Health:100% ;DEFAULT VALUES
RespawnEntry = Level:2 Cost:1000 Time:90000 ;For other levels, only override what is different.
RespawnEntry = Level:3 Cost:1100 Time:90000
RespawnEntry = Level:4 Cost:1200 Time:90000
RespawnEntry = Level:5 Cost:1300 Time:120000
RespawnEntry = Level:6 Cost:1400 Time:120000
RespawnEntry = Level:7 Cost:1500 Time:120000
RespawnEntry = Level:8 Cost:1600 Time:120000
RespawnEntry = Level:9 Cost:1700 Time:120000
RespawnEntry = Level:10 Cost:1800 Time:120000
End

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

Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
MoodAttackCheckRate = 500
HoldGroundCloseRangeDistance = 60
End

Behavior = AutoAbilityBehavior ModuleTag_AutoAbilityBehavior
End

LocomotorSet
Locomotor = RohanGimliLocomotor
Condition = SET_NORMAL
Speed = NORMAL_GOOD_HERO_SPEED
End
; Locomotor = SET_WANDER HumanWanderLocomotor

Behavior = PhysicsBehavior ModuleTag_04
GravityMult = 1.0
AllowBouncing = No
ShockStunnedTimeLow = 1400 ;msec
ShockStunnedTimeHigh = 2400 ;msec
ShockStandingTime = 2600 ;msec
End

Behavior = SlowDeathBehavior ModuleTag_05
DeathTypes = ALL -KNOCKBACK
SinkDelay = 3000
SinkRate = 0.40 ; in Dist/Sec
DestructionDelay = 8000
Sound = INITIAL GimliVoiceDie
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
End

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

CrushStyle = Yes ; I don't detonate, I just hit

BounceCount = 0 ; When I hit the ground, I'll arc again

FinalStuckTime = 1200 ; Can't move for this long afterwards

GroundHitFX = FX_GimliLeapLand
GroundHitWeapon = RohanGimliLeapWarhead
PreLandingStateTime = 75; Look ahead to the end of the arc, and get the ABOUT_TO_HIT flag this far in advance
End

Behavior = EmotionTrackerUpdate Module_EmotionTracker
TauntAndPointDistance = 300 ; max distance to taunted/pointed objet
TauntAndPointUpdateDelay = 1000 ; how often scan (milliseconds)

AddEmotion = Alert_Base
End

Behavior = HitReactionBehavior HitReactionBehaviorModuleTag
HitReactionLifeTimer1 = 2200 ; level 1 (light damage) hit reaction animations in frames (5 per sec)
HitReactionLifeTimer2 = 15 ; level 2 (medium damage) hit reaction animations in frames (5 per sec)
HitReactionLifeTimer3 = 10 ; level 3 (heavy damage) hit reaction animations in frames (5 per sec)

HitReactionThreshold1 = 1.0 ; level 1 (light damage) threshold trigger
HitReactionThreshold2 = 2500.0 ; level 2 (medium damage) threshold trigger
HitReactionThreshold3 = 5000.0 ; level 3 (heavy damage) threshold trigger
End

Behavior = UnpauseSpecialPowerUpgrade ModuleTag_SmashEnabler
SpecialPowerTemplate = SpecialAbilityGloinSmash
TriggeredBy = Upgrade_EnableGloinSmash
End
Behavior = SpecialPowerModule ModuleTag_SmashStarter
SpecialPowerTemplate = SpecialAbilityGloinSmash
UpdateModuleStartsAttack = Yes
StartsPaused = Yes
End
Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_SmashWeaponFireUpdate
SpecialPowerTemplate = SpecialAbilityGloinSmash
WhichSpecialWeapon = 1
SkipContinue = Yes

UnpackTime = 1500
PackTime = 1200
FreezeAfterTriggerDuration = 0 ; Hold AI for this long after we fire.

AwardXPForTriggering = 0

SpecialWeapon = GloinSmashWeapon
End

Geometry = CYLINDER
GeometryMajorRadius = 5.6
GeometryMinorRadius = 5.6
GeometryHeight = 16.0
GeometryIsSmall = Yes

Shadow = SHADOW_DECAL
ShadowSizeX = 19;
ShadowSizeY = 19;
ShadowTexture = ShadowI;
End
Revenir en haut Aller en bas
gandalf77
Moddeur confirmé
Moddeur confirmé
gandalf77


Nombre de messages : 202
Add-On : Oui
Date d'inscription : 09/08/2009

DwarvenGloin_Temp Empty
MessageSujet: Re: DwarvenGloin_Temp   DwarvenGloin_Temp Icon_minitimeVen 22 Juil - 16:59

Et voici les codes pour le Gloin que j'ai crée (j'avais fait exactement comme tu as dit mais ça n'a pas marché) et j'ai essayé plusieurs fois avec différents squelettes et animations :s

;------------------------------------------------------------------------------
;
; Gloin.ini
;
;------------------------------------------------------------------------------

Object DwarvenNewGloin
; *** ART Parameters ***

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

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

;ShadowMaxHeight = 999 ;this is causing 2 shadows to be cast when the unit is under a bridge. Taking it out!
Draw = W3DScriptedModelDraw ModuleTag_01

OkToChangeModelColor = Yes


StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD

;;====================== MODELS ================================================================
DefaultModelConditionState
Model = EUDwarfGlo
Skeleton = RUGimli_SKL
WeaponLaunchBone = TERTIARY AXE02
End
;;================== ANIMATIONS =================================================================



TransitionState = TRANS_attentionToBored
Animation = ATNA
AnimationName = DUGloine_ATNA
AnimationMode = ONCE
AnimationSpeedFactorRange = 1.1 1.1
End
End

TransitionState = TRANS_boredToAttention
Animation = ATNA
AnimationName = DUGloine_ATNA
AnimationMode = ONCE_BACKWARDS
AnimationSpeedFactorRange = 1.1 1.1
End
Flags = START_FRAME_LAST
End

TransitionState = TRANS_AboutToHitGround_To_Idle
Animation = SplashAtEndOfJump
AnimationName = RUGimli_LEPC
AnimationMode = ONCE
;AnimationBlendTime = 0
End
Flags = MAINTAIN_FRAME_ACROSS_STATES
End

;;--------------- IDLE STATES ---------------------------------

IdleAnimationState
StateName = BORED
Animation = IDLB
AnimationName = DUGloine_IDLA
AnimationMode = ONCE
AnimationPriority = 15
End
Animation = IDLB
AnimationName = DUGloine_IDLB
AnimationMode = ONCE
AnimationPriority = 5
End
Animation = IDLB
AnimationName = DUGloine_IDLC
AnimationMode = ONCE
AnimationPriority = 3
End
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "SELECTED" then CurDrawableSetTransitionAnimState("TRANS_attentionToBored") end
if Prev == "READY" then CurDrawableSetTransitionAnimState("TRANS_attentionToBored") end
EndScript
End

; // SLAM
AnimationState = SPECIAL_WEAPON_ONE
StateName = SPELL
Animation
AnimationName = RUGimli_ATKA
AnimationMode = ONCE
End
ParticleSysBone = NONE GloinBlastSlam FollowBone:Yes
End

// SHAKE FOUNDATION
AnimationState = SPECIAL_WEAPON_TWO
StateName = SPELL
Animation
AnimationName = RUGimli_ATKD
AnimationMode = ONCE
End
End

// SHATTERHAMMER
AnimationState = SPECIAL_WEAPON_THREE
StateName = SPELL
Animation
AnimationName = DUGloin_JUMP
AnimationMode = ONCE
End
End




;;------------------ MOVING & DYING ---------------------------

;;======= DYING

AnimationState = STUNNED_FLAILING
Animation = FLYA
AnimationName = RUGimli_FLYA
AnimationMode = LOOP
AnimationSpeedFactorRange = 0.3 0.5
End
Flags = RANDOMSTART
End

AnimationState = DYING SPLATTED DEATH_1
Animation = LNDB
AnimationName = RUGimli_LNDA
AnimationMode = ONCE
End
End

AnimationState = DYING DEATH_1
Animation = DIEA
AnimationName = RUGimli_DIEA
AnimationMode = ONCE
End
Animation = DIEC
AnimationName = RUGimli_DIEC
AnimationMode = ONCE
End
End

AnimationState = DYING DEATH_2
Animation = FadeOut
AnimationName = RUGimli_IDLB
AnimationMode = LOOP
End
End

AnimationState = STUNNED_STANDING_UP
Animation = GTPA
AnimationName = RUGimli_GTPA
AnimationMode = ONCE
End
End

AnimationState = STUNNED
Animation = LNDA
AnimationName = RUGimli_LNDA
AnimationMode = ONCE
End
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "DwarfToss" then CurDrawableSetTransitionAnimState("TRANS_EndDwarfToss") end
EndScript
End

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


;;======= MOVING


AnimationState = MOVING FIRING_OR_PREATTACK_A
ShareAnimation = Yes
Animation = RunAndFire
AnimationName = RUGimli_ATRA
AnimationMode = LOOP
End
Flags = RANDOMSTART
End


AnimationState = MOVING ATTACKING
Animation = RUNB
AnimationName = RUGimli_RUNB
AnimationMode = LOOP
End
Flags = RANDOMSTART
;ParticleSysBone = None InfantryDustTrails
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "DwarfToss" then CurDrawableSetTransitionAnimState("TRANS_EndDwarfToss") end
EndScript
End

AnimationState = MOVING
Animation = RUNA
AnimationName = RUGimli_RUNA
AnimationMode = LOOP

End
Flags = RANDOMSTART
;ParticleSysBone = None InfantryDustTrails
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "DwarfToss" then CurDrawableSetTransitionAnimState("TRANS_EndDwarfToss") end
EndScript
End



;;------------------ ATTACKING -------------------------------

AnimationState = FIRING_OR_PREATTACK_B; WEAPONLOCK_SECONDARY
Animation = ATKA
AnimationName = RUGimli_ATKD
AnimationMode = ONCE
UseWeaponTiming = Yes
End

;ParticleSysBone None MeleeDust
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "DwarfToss" then CurDrawableSetTransitionAnimState("TRANS_EndDwarfToss") end
EndScript
End

AnimationState = FIRING_OR_PREATTACK_A
Animation = ATKA
AnimationName = RUGimli_ATKA
AnimationMode = ONCE
UseWeaponTiming = Yes
End
Animation = ATKB
AnimationName = RUGimli_ATKB
AnimationMode = ONCE
UseWeaponTiming = Yes
End
Animation = ATKC
AnimationName = RUGimli_ATKC
AnimationMode = ONCE
UseWeaponTiming = Yes
End

;ParticleSysBone None MeleeDust
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "DwarfToss" then CurDrawableSetTransitionAnimState("TRANS_EndDwarfToss") end
EndScript
End


;;-------------------- HIT REACTIONS --------------------------

AnimationState = HIT_REACTION
Animation = Hit_Level_1_a
AnimationName = RUGimli_HITA
AnimationMode = ONCE
End
End

;;------------ EMOTIONS ---------------------------------------

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

;;====== CELEBRATING
AnimationState = EMOTION_CELEBRATING
Animation = CHRA
AnimationName = RUGimli_CHRA
AnimationMode = ONCE
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End

;;====== TAUNTING
AnimationState = EMOTION_TAUNTING
Animation = TNTA
AnimationName = RUGimli_TNTA
AnimationMode = ONCE
End
Animation = TNTB
AnimationName = RUGimli_TNTB
AnimationMode = ONCE
End
Flags = RESTART_ANIM_WHEN_COMPLETE
End

AnimationState = EMOTION_ALERT
Animation = READY
AnimationName = RUGimli_IDLA
AnimationMode = LOOP
AnimationBlendTime = 15
End
BeginScript
if Prev == "State_AboutToHitGround" then CurDrawableSetTransitionAnimState("TRANS_AboutToHitGround_To_Idle") end
EndScript

End

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

;;------------------- SELECTED STATES -------------------------

AnimationState = SELECTED
StateName = SELECTED
SimilarRestart = Yes
Animation = ATNB
AnimationName = DUGloine_ATNB
AnimationMode = LOOP
End
BeginScript
Prev = CurDrawablePrevAnimationState()
if Prev == "BORED" then CurDrawableSetTransitionAnimState("TRANS_boredToAttention") end
if Prev == "READY" then CurDrawableSetTransitionAnimState("TRANS_boredToAttention") end
if Prev == "SPELL" then CurDrawableSetTransitionAnimState("TRANS_boredToAttention") end
EndScript
End

End


Draw = W3DScriptedModelDraw Icon
ModelConditionState = NONE
Model = bbox
End
End


;;================== END ANIMATIONS =================================================================

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

; ***DESIGN parameters ***
Side = Dwarves
EditorSorting = UNIT
ThreatLevel = GLOIN_THREAT_LEVEL
TransportSlotCount = TRANSPORTSLOTCOUNT_HERO
BuildCost = GLOIN_BUILDCOST
BuildTime = GLOIN_BUILDTIME
;ShockwaveResistance = SHOCKWAVE_RESISTANCE_STRONG
DisplayMeleeDamage = GLOIN_DAMAGE
MaxSimultaneousOfType = 1
HeroSortOrder = 40
Scale = 0.92

WeaponSet
Conditions = None
Weapon = PRIMARY GloinAxeMod
End

ArmorSet
Conditions = None
Armor = EdainWarriorHeroArmor ;GloinArmor
DamageFX = NormalDamageFX
End

ArmorSet
Conditions = PLAYER_UPGRADE
Armor = EdainWarriorHeroArmorUpgrade ;GloinMithrilArmor
DamageFX = NormalDamageFX
End


VisionRange = 200 ;VISION_STANDARD_MELEE
ShroudClearingRange = 300 ;SHROUD_CLEAR_HERO

MaxVisionBonusPercent = 300%
VisionBonusTestRadius = 200
VisionBonusPercentPerFoot = 1.0%

BountyValue = 30
DisplayName = OBJECT:Gloin
RecruitText = CONTROLBAR:GloinRecruit
ReviveText = CONTROLBAR:GloinRevive
Hotkey = CONTROLBAR:GloinHotkey
CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
; CrusherLevel = 1

CommandSet = GloinmodCommandSet
CommandPoints = DWARVEN_GLOIN_COMMAND_POINTS


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

AutoResolveBody = AutoResolve_GloinBody

AutoResolveArmor
Armor = AutoResolve_GloinArmor
End

AutoResolveWeapon
Weapon = AutoResolve_GloinWeapon
End

;AutoResolveLeadership = AutoResolve_GloinBonus

; *** AUDIO Parameters ***;

VoiceAttack = GloinVoiceAttack
VoiceAttackCharge = GloinVoiceAttackCharge
VoiceAttackMachine = GloinVoiceAttack
VoiceAttackStructure = GloinVoiceAttackBuilding
VoiceFear = GloinVoiceHelpMe
VoiceGuard = GloinVoiceMove
VoiceMove = GloinVoiceMove
VoiceMoveToCamp = GloinVoiceMoveCamp
VoiceMoveWhileAttacking = GloinVoiceDisengage
VoicePriority = 78
VoiceRetreatToCastle = GloinVoiceRetreat
VoiceSelect = GloinVoiceSelectMS
VoiceSelectBattle = GloinVoiceSelectBattle

;VoiceEnterStateAttack = GloinVoiceEnterStateAttack
;VoiceEnterStateAttackCharge = GloinVoiceEnterStateAttackCharge
;VoiceEnterStateAttackMachine = GloinVoiceEnterStateAttackBuilding
;VoiceEnterStateAttackStructure = GloinVoiceEnterStateAttackBuilding
;VoiceEnterStateMove = GloinVoiceEnterStateMove
;VoiceEnterStateMoveToCamp = GloinVoiceEnterStateMoveCamp
;VoiceEnterStateMoveWhileAttacking = GloinVoiceEnterStateDisengage
;VoiceEnterStateRetreatToCastle = GloinVoiceEnterStateRetreat

SoundImpact = ImpactHorse

UnitSpecificSounds
VoiceGarrison = GloinVoiceMoveGarrison
VoiceEnterUnitElvenTransportShip = GloinVoiceMoveShip
VoiceInitiateCaptureBuilding = GloinVoiceCaptureBuilding
;VoiceEnterStateInitiateCaptureBuilding =
End

#include "..\..\..\includes\StandardUnitEvaEvents.inc"
EvaEventDieOwner = GloinDie ;Eva event to trigger on unit's death. NOTICE THAT this is only for permanent deaths

CrowdResponseKey = DwarfHero

Behavior = LargeGroupAudioUpdate ModuleTag_LGAU ; Tie into LargeGroupAudio system
Key = Humanoid_Male Dwarf Dwarf_Male Unit Infantry Hero
End

ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
MaxUpdateRangeCap = 800
AnimationSound = Sound:FootstepDirtA Animation:DUGloin_SKL.DUGloin_RUNA Frames:3 14
AnimationSound = Sound:FootstepDirtA Animation:DUGloin_SKL.DUGloin_RUNB Frames:3 12

AnimationSound = Sound:BodyFallSoldier Animation:DUGLOIN_SKL.DUGLOIN_LNDA Frames:7
AnimationSound = Sound:BodyFallSoldier Animation:DUGLOIN_SKL.DUGLOIN_DTHA Frames:55
;AnimationSound = Sound:AxeDropSoundHere! Animation:DUGLOIN_SKL.DUGLOIN_DTHA Frames:42 ;axe falls
AnimationSound = Sound:SwordIntoGroundQuiet Animation:DUGLOIN_SKL.DUGLOIN_SPCA Frames:61 ;striking ground with axe
AnimationSound = Sound:SwordIntoGroundQuiet Animation:DUGLOIN_SKL.DUGLOIN_ATKB Frames:38 ;striking ground with axe
End

; *** ENGINEERING Parameters ***

RadarPriority = UNIT
KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY PATH_THROUGH_EACH_OTHER SCORE THROWN_OBJECT HERO ARMY_SUMMARY ATTACK_NEEDS_LINE_OF_SIGHT HEAVY_MELEE_HITTER PATH_THROUGH_INFANTRY
PathfindDiameter = 40.0

Body = RespawnBody ModuleTag_RespawnBody
CheerRadius = EMOTION_CHEER_RADIUS
MaxHealth = 3600
PermanentlyKilledByFilter = NONE ;Who kills me permanently?
DodgePercent = 80%
End

Behavior = RespawnUpdate ModuleTag_RespawnUpdate
DeathAnim = DYING ;Model condition to play when killed-to-respawn
; DeathFX = FX_GloinDieToRespawn ;FXList to play when killed-to-respawn
DeathAnimationTime = 4100 ;How long DeathAnim will take.
; InitialSpawnFX = FX_GloinInitialSpawn
RespawnAnim = LEVELED ;Animation to play when respawning.
; RespawnFX = FX_GloinRespawn ;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 = HIGloinNew

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



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

Behavior = StancesBehavior ModuleTag_StancesBehavior
StanceTemplate = Hero
End

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

Behavior = AIUpdateInterface ModuleTag_03
AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
MoodAttackCheckRate = 500
HoldGroundCloseRangeDistance = 60
End

LocomotorSet
Locomotor = RohanGimliLocomotor
Condition = SET_NORMAL
Speed = NORMAL_DWARF_HERO_SPEED
End
; Locomotor = SET_WANDER HumanWanderLocomotor

Behavior = PhysicsBehavior ModuleTag_04
GravityMult = 1.0
AllowBouncing = No
ShockStunnedTimeLow = 1400 ;msec
ShockStunnedTimeHigh = 2400 ;msec
ShockStandingTime = 2600 ;msec
End

Behavior = SlowDeathBehavior ModuleTag_05
DeathTypes = ALL -KNOCKBACK -FADED
SinkDelay = 3000
SinkRate = 0.40 ; in Dist/Sec
DestructionDelay = 8000
Sound = INITIAL GloinVoiceDie
DeathFlags = DEATH_1
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
End

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

CrushStyle = Yes ; I don't detonate, I just hit

BounceCount = 0 ; When I hit the ground, I'll arc again

FinalStuckTime = 1200 ; Can't move for this long afterwards

GroundHitFX = FX_GimliLeapLand
GroundHitWeapon = RohanGimliLeapWarhead
PreLandingStateTime = 75; Look ahead to the end of the arc, and get the ABOUT_TO_HIT flag this far in advance
End

Behavior = EmotionTrackerUpdate Module_EmotionTracker
TauntAndPointDistance = 300 ; max distance to taunted/pointed objet
TauntAndPointUpdateDelay = 1000 ; how often scan (milliseconds)

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

Behavior = HitReactionBehavior HitReactionBehaviorModuleTag
HitReactionLifeTimer1 = 2200 ; level 1 (light damage) hit reaction animations in frames (5 per sec)
HitReactionLifeTimer2 = 15 ; level 2 (medium damage) hit reaction animations in frames (5 per sec)
HitReactionLifeTimer3 = 10 ; level 3 (heavy damage) hit reaction animations in frames (5 per sec)

HitReactionThreshold1 = 1.0 ; level 1 (light damage) threshold trigger
HitReactionThreshold2 = 2500.0 ; level 2 (medium damage) threshold trigger
HitReactionThreshold3 = 5000.0 ; level 3 (heavy damage) threshold trigger
End



;-------------------------------------------------
; Herr vom einsamen Berg
;-------------------------------------------------

Behavior = SpecialPowerModule ModuleTag_TheodenLeadershipUpdate2
SpecialPowerTemplate = SpecialAbilityFakeLeadership2
UpdateModuleStartsAttack = Yes
StartsPaused = Yes
End

Behavior = UnpauseSpecialPowerUpgrade ModuleTag_TheodenLeadership2
SpecialPowerTemplate = SpecialAbilityFakeLeadership2
TriggeredBy = Upgrade_Level_3
End

Behavior = AttributeModifierAuraUpdate ModuleTag_Leadership2
StartsActive = No
BonusName = GloinHerrvomeinsamenBerg
TriggeredBy = Upgrade_Level_3
RefreshDelay = 2000
Range = 200
;AntiCategory = BUFF
ObjectFilter = ANY +MACHINE -INFANTRY -CAVALRY -HERO -DOZER -STRUCTURE ALLIES
End



;;;; SLAM SPECIAL ABILITY ;;;;;;;;--------------------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_SlamEnabler
SpecialPowerTemplate = SpecialAbilityDwarvenGloinSlam
TriggeredBy = Upgrade_Level_1
End

Behavior = SpecialPowerModule ModuleTag_SlamStarter
SpecialPowerTemplate = SpecialAbilityDwarvenGloinSlam
UpdateModuleStartsAttack = Yes
StartsPaused = Yes
InitiateSound = GloinVoiceGenericSpecialAbility
End

Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_SlamWeaponFireUpdate
SpecialPowerTemplate = SpecialAbilityDwarvenGloinSlam
SpecialWeapon = DwarvenGloinSlamWeapon
WhichSpecialWeapon = 1 ; Corresponds to SPECIAL_WEAPON_ONE
StartAbilityRange = 10.0

SkipContinue = Yes
UnpackTime = 1000 ; Trigger on frame 30 (of 69)
PackTime = 1300 ; Remaining 39 frames (of 69)
MustFinishAbility = Yes
End
Behavior = AutoAbilityBehavior ModuleTag_SlamAutoAbility
SpecialAbility = SpecialAbilityDwarvenGloinSlam
Query = 1 ANY ENEMIES +STRUCTURE -UNATTACKABLE ; structures as a preference
Query = 1 ALL ENEMIES
End



;;;; SHAKE FOUNDATION SPECIAL ABILITY ;;;;--------------------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_ShakeFoundationEnabler
SpecialPowerTemplate = SpecialAbilityDwarvenGloinShakeFoundation
TriggeredBy = Upgrade_Level_6
End

Behavior = SpecialPowerModule ModuleTag_ShakeFoundationStarter
SpecialPowerTemplate = SpecialAbilityDwarvenGloinShakeFoundation
UpdateModuleStartsAttack = Yes
StartsPaused = Yes
InitiateSound = GloinVoiceGenericSpecialAbility
End

Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_ShakeFoundationWeaponFireUpdate
SpecialPowerTemplate = SpecialAbilityDwarvenGloinShakeFoundation
SpecialWeapon = DwarvenGloinShakeFoundationWeapon
WhichSpecialWeapon = 2 ; Corresponds to SPECIAL_WEAPON_TWO
StartAbilityRange = 15.0

SkipContinue = Yes
UnpackTime = 1400 ; Trigger on frame 42 (of 115)
PackTime = 2433 ; Remaining 73 frames (of 115)
MustFinishAbility = Yes
End
Behavior = AutoAbilityBehavior ModuleTag_ShakeFoundationAutoAbility
SpecialAbility = SpecialAbilityDwarvenGloinShakeFoundation
Query = 1 ANY ENEMIES +STRUCTURE -UNATTACKABLE
MaxScanRange = 100
End


;;;; SHATTERHAMMER SPECIAL ABILITY ;;;;;;;;--------------------------------------------------------------------
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_SmashEnabler
SpecialPowerTemplate = SpecialAbilityGloinSmash
TriggeredBy = Upgrade_Level_10
End

Behavior = SpecialPowerModule ModuleTag_SmashStarter
SpecialPowerTemplate = SpecialAbilityGloinSmash
UpdateModuleStartsAttack = Yes
StartsPaused = Yes
InitiateSound = GloinVoiceGenericSpecialAbility
End

Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_SmashWeaponFireUpdate
SpecialPowerTemplate = SpecialAbilityGloinSmash
SpecialWeapon = GloinSmashWeaponMod
WhichSpecialWeapon = 3 ; Corresponds to SPECIAL_WEAPON_THREE
StartAbilityRange = 10.0

SkipContinue = Yes
UnpackTime = 2000 ; Trigger on frame 60 (of 100)
PackTime = 1333 ; Remaining 40 frames (of 100)
MustFinishAbility = Yes
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 = ArmorUpgrade ModuleTag_ArmorUpgradeMithril
TriggeredBy = Upgrade_DwarvenMithrilMailHeroes
ArmorSetFlag = PLAYER_UPGRADE
End

Behavior = SubObjectsUpgrade ModuleTag_MithrilSkinwelchsel
TriggeredBy = Upgrade_DwarvenMithrilMailHeroes
UpgradeTexture = dugloinnew.tga 0 dugloinnew_ha.tga
End

Behavior = ProductionUpdate ProductionUpdateModuleTag
GiveNoXP = Yes
End




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

Behavior = AISpecialPowerUpdate SlamAI
CommandButtonName = Command_SpecialAbilityDwarvenGloinSlam
SpecialPowerAIType = AI_SPECIAL_POWER_ENEMY_TYPE_KILLER_STRUCTURES
SpecialPowerRange = 200
End

Behavior = AISpecialPowerUpdate ShakeFoundationAI
CommandButtonName = Command_SpecialAbilityDwarvenGloinShakeFoundation
SpecialPowerAIType = AI_SPECIAL_POWER_ENEMY_TYPE_KILLER_STRUCTURES
SpecialPowerRange = 200
End

Behavior = AISpecialPowerUpdate GandalfWordOfPowerAI
CommandButtonName = Command_SpecialAbilityGloinSmash
SpecialPowerAIType = AI_SPECIAL_POWER_BASIC_SELF_BUFF
SpecialPowerRadius = 250
End



Geometry = CYLINDER
GeometryMajorRadius = 5.6
GeometryMinorRadius = 5.6
GeometryHeight = 16.0
GeometryIsSmall = Yes

Shadow = SHADOW_DECAL
ShadowSizeX = 19;
ShadowSizeY = 19;
ShadowTexture = ShadowI;
End
Revenir en haut Aller en bas
Leithian...
Moddeur expert
Moddeur expert
Leithian...


Nombre de messages : 750
Age : 31
Location : @ Home ! =D
Add-On : Quelle question, bien sûr que non !
Date d'inscription : 03/03/2010

DwarvenGloin_Temp Empty
MessageSujet: Re: DwarvenGloin_Temp   DwarvenGloin_Temp Icon_minitimeVen 22 Juil - 19:59

Alors voici les quelques problèmes à corriger ( copies/colle ces fichiers là où il faut Wink ) :

Ton fichier dwarvennewgloin.ini :

Code:
Object DwarvenNewGloin
 ; *** ART Parameters ***

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

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

 ;ShadowMaxHeight = 999 ;this is causing 2 shadows to be cast when the unit is under a bridge. Taking it out!
 Draw = W3DScriptedModelDraw ModuleTag_01

 OkToChangeModelColor = Yes


 StaticModelLODMode = yes ; Will append M or L to the skin name depending on GameLOD

;;====================== MODELS ================================================================
 DefaultModelConditionState
 Model = EUDwarfGlo
 Skeleton = RUGimli_SKL
 WeaponLaunchBone = TERTIARY AXE02
 End
;;================== ANIMATIONS =================================================================



 TransitionState = TRANS_attentionToBored
 Animation = ATNA
 AnimationName = DUGloine_ATNA
 AnimationMode = ONCE
 AnimationSpeedFactorRange = 1.1 1.1
 End
 End

 TransitionState = TRANS_boredToAttention
 Animation = ATNA
 AnimationName = DUGloine_ATNA
 AnimationMode = ONCE_BACKWARDS
 AnimationSpeedFactorRange = 1.1 1.1
 End
 Flags = START_FRAME_LAST
 End

 TransitionState = TRANS_AboutToHitGround_To_Idle
 Animation = SplashAtEndOfJump
 AnimationName = RUGimli_LEPC
 AnimationMode = ONCE
 ;AnimationBlendTime = 0
 End
 Flags = MAINTAIN_FRAME_ACROSS_STATES
 End

;;--------------- IDLE STATES ---------------------------------

 IdleAnimationState
 StateName = BORED
 Animation = IDLB
 AnimationName = DUGloine_IDLA
 AnimationMode = ONCE
 AnimationPriority = 15
 End
 Animation = IDLB
 AnimationName = DUGloine_IDLB
 AnimationMode = ONCE
 AnimationPriority = 5
 End
 Animation = IDLB
 AnimationName = DUGloine_IDLC
 AnimationMode = ONCE
 AnimationPriority = 3
 End
 BeginScript
 Prev = CurDrawablePrevAnimationState()
 if Prev == "SELECTED" then CurDrawableSetTransitionAnimState("TRANS_attentionToBored") end
 if Prev == "READY" then CurDrawableSetTransitionAnimState("TRANS_attentionToBored") end
 EndScript
 End

; // SLAM
 AnimationState = SPECIAL_WEAPON_ONE
 StateName = SPELL
 Animation
 AnimationName = RUGimli_ATKA
 AnimationMode = ONCE
 End
 ParticleSysBone = NONE GloinBlastSlam FollowBone:Yes
 End

 // SHAKE FOUNDATION
 AnimationState = SPECIAL_WEAPON_TWO
 StateName = SPELL
 Animation
 AnimationName = RUGimli_ATKD
 AnimationMode = ONCE
 End
 End

 // SHATTERHAMMER
 AnimationState = SPECIAL_WEAPON_THREE
 StateName = SPELL
 Animation
 AnimationName = DUGloin_JUMP
 AnimationMode = ONCE
 End
 End




;;------------------ MOVING & DYING ---------------------------

 ;;======= DYING

 AnimationState = STUNNED_FLAILING
 Animation = FLYA
 AnimationName = RUGimli_FLYA
 AnimationMode = LOOP
 AnimationSpeedFactorRange = 0.3 0.5
 End
 Flags = RANDOMSTART
 End

 AnimationState = DYING SPLATTED DEATH_1
 Animation = LNDB
 AnimationName = RUGimli_LNDA
 AnimationMode = ONCE
 End
 End

 AnimationState = DYING DEATH_1
 Animation = DIEA
 AnimationName = RUGimli_DIEA
 AnimationMode = ONCE
 End
 Animation = DIEC
 AnimationName = RUGimli_DIEC
 AnimationMode = ONCE
 End
 End

 AnimationState = DYING DEATH_2
 Animation = FadeOut
 AnimationName = RUGimli_IDLB
 AnimationMode = LOOP
 End
 End

 AnimationState = STUNNED_STANDING_UP
 Animation = GTPA
 AnimationName = RUGimli_GTPA
 AnimationMode = ONCE
 End
 End

 AnimationState = STUNNED
 Animation = LNDA
 AnimationName = RUGimli_LNDA
 AnimationMode = ONCE
 End
 BeginScript
 Prev = CurDrawablePrevAnimationState()
 if Prev == "DwarfToss" then CurDrawableSetTransitionAnimState("TRANS_EndDwarfToss") end
 EndScript
 End

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


 ;;======= MOVING


 AnimationState = MOVING FIRING_OR_PREATTACK_A
 ShareAnimation = Yes
 Animation = RunAndFire
 AnimationName = RUGimli_ATRA
 AnimationMode = LOOP
 End
 Flags = RANDOMSTART
 End


 AnimationState = MOVING ATTACKING
 Animation = RUNB
 AnimationName = RUGimli_RUNB
 AnimationMode = LOOP
 End
 Flags = RANDOMSTART
 ;ParticleSysBone = None InfantryDustTrails
 BeginScript
 Prev = CurDrawablePrevAnimationState()
 if Prev == "DwarfToss" then CurDrawableSetTransitionAnimState("TRANS_EndDwarfToss") end
 EndScript
 End

 AnimationState = MOVING
 Animation = RUNA
 AnimationName = RUGimli_RUNA
 AnimationMode = LOOP

 End
 Flags = RANDOMSTART
 ;ParticleSysBone = None InfantryDustTrails
 BeginScript
 Prev = CurDrawablePrevAnimationState()
 if Prev == "DwarfToss" then CurDrawableSetTransitionAnimState("TRANS_EndDwarfToss") end
 EndScript
 End



;;------------------ ATTACKING -------------------------------

 AnimationState = FIRING_OR_PREATTACK_B; WEAPONLOCK_SECONDARY
 Animation = ATKA
 AnimationName = RUGimli_ATKD
 AnimationMode = ONCE
 UseWeaponTiming = Yes
 End

 ;ParticleSysBone None MeleeDust
 BeginScript
 Prev = CurDrawablePrevAnimationState()
 if Prev == "DwarfToss" then CurDrawableSetTransitionAnimState("TRANS_EndDwarfToss") end
 EndScript
 End

 AnimationState = FIRING_OR_PREATTACK_A
 Animation = ATKA
 AnimationName = RUGimli_ATKA
 AnimationMode = ONCE
 UseWeaponTiming = Yes
 End
 Animation = ATKB
 AnimationName = RUGimli_ATKB
 AnimationMode = ONCE
 UseWeaponTiming = Yes
 End
 Animation = ATKC
 AnimationName = RUGimli_ATKC
 AnimationMode = ONCE
 UseWeaponTiming = Yes
 End

 ;ParticleSysBone None MeleeDust
 BeginScript
 Prev = CurDrawablePrevAnimationState()
 if Prev == "DwarfToss" then CurDrawableSetTransitionAnimState("TRANS_EndDwarfToss") end
 EndScript
 End


;;-------------------- HIT REACTIONS --------------------------

 AnimationState = HIT_REACTION
 Animation = Hit_Level_1_a
 AnimationName = RUGimli_HITA
 AnimationMode = ONCE
 End
 End

;;------------ EMOTIONS ---------------------------------------

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

;;====== CELEBRATING
 AnimationState = EMOTION_CELEBRATING
 Animation = CHRA
 AnimationName = RUGimli_CHRA
 AnimationMode = ONCE
 End
 Flags = RESTART_ANIM_WHEN_COMPLETE
 End

;;====== TAUNTING
 AnimationState = EMOTION_TAUNTING
 Animation = TNTA
 AnimationName = RUGimli_TNTA
 AnimationMode = ONCE
 End
 Animation = TNTB
 AnimationName = RUGimli_TNTB
 AnimationMode = ONCE
 End
 Flags = RESTART_ANIM_WHEN_COMPLETE
 End

 AnimationState = EMOTION_ALERT
 Animation = READY
 AnimationName = RUGimli_IDLA
 AnimationMode = LOOP
 AnimationBlendTime = 15
 End
 BeginScript
 if Prev == "State_AboutToHitGround" then CurDrawableSetTransitionAnimState("TRANS_AboutToHitGround_To_Idle") end
 EndScript

 End

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

;;------------------- SELECTED STATES -------------------------

 AnimationState = SELECTED
 StateName = SELECTED
 SimilarRestart = Yes
 Animation = ATNB
 AnimationName = DUGloine_ATNB
 AnimationMode = LOOP
 End
 BeginScript
 Prev = CurDrawablePrevAnimationState()
 if Prev == "BORED" then CurDrawableSetTransitionAnimState("TRANS_boredToAttention") end
 if Prev == "READY" then CurDrawableSetTransitionAnimState("TRANS_boredToAttention") end
 if Prev == "SPELL" then CurDrawableSetTransitionAnimState("TRANS_boredToAttention") end
 EndScript
 End

 End


 Draw = W3DScriptedModelDraw Icon
 ModelConditionState = NONE
 Model = bbox
 End
 End


;;================== END ANIMATIONS =================================================================

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

 ; ***DESIGN parameters ***
 Side = Dwarves
 EditorSorting = UNIT
 ThreatLevel = GLOIN_THREAT_LEVEL
 TransportSlotCount = TRANSPORTSLOTCOUNT_HERO
 BuildCost = GLOIN_BUILDCOST
 BuildTime = GLOIN_BUILDTIME
 ;ShockwaveResistance = SHOCKWAVE_RESISTANCE_STRONG
 DisplayMeleeDamage = GLOIN_DAMAGE
 MaxSimultaneousOfType = 1
 HeroSortOrder = 40
 Scale = 0.92

 WeaponSet
 Conditions = None
 Weapon = PRIMARY GloinAxeMod
 End

 ArmorSet
 Conditions = None
 Armor = EdainWarriorHeroArmor ;GloinArmor
 DamageFX = NormalDamageFX
 End

 ArmorSet
 Conditions = PLAYER_UPGRADE
 Armor = EdainWarriorHeroArmorUpgrade ;GloinMithrilArmor
 DamageFX = NormalDamageFX
 End


 VisionRange = 200 ;VISION_STANDARD_MELEE
 ShroudClearingRange = 300 ;SHROUD_CLEAR_HERO

 MaxVisionBonusPercent = 300%
 VisionBonusTestRadius = 200
 VisionBonusPercentPerFoot = 1.0%

 BountyValue = 30
 DisplayName = OBJECT:Gloin
 RecruitText = CONTROLBAR:GloinRecruit
 ReviveText = CONTROLBAR:GloinRevive
 Hotkey = CONTROLBAR:GloinHotkey
 CrushableLevel = 2 ;What am I?: 0 = for infantry, 1 = for trees, 2 = general vehicles
; CrusherLevel = 1

 CommandSet = GloinmodCommandSet
 CommandPoints = 60


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

 AutoResolveBody = AutoResolve_GloinBody

 AutoResolveArmor
 Armor = AutoResolve_GloinArmor
 End

 AutoResolveWeapon
 Weapon = AutoResolve_GloinWeapon
 End

 ;AutoResolveLeadership = AutoResolve_GloinBonus

 ; *** AUDIO Parameters ***;

 VoiceAttack = GloinVoiceAttack
 VoiceAttackCharge = GloinVoiceAttackCharge
 VoiceAttackMachine = GloinVoiceAttack
 VoiceAttackStructure = GloinVoiceAttackBuilding
 VoiceFear = GloinVoiceHelpMe
 VoiceGuard = GloinVoiceMove
 VoiceMove = GloinVoiceMove
 VoiceMoveToCamp = GloinVoiceMoveCamp
 VoiceMoveWhileAttacking = GloinVoiceDisengage
 VoicePriority = 78
 VoiceRetreatToCastle = GloinVoiceRetreat
 VoiceSelect = GloinVoiceSelectMS
 VoiceSelectBattle = GloinVoiceSelectBattle

 ;VoiceEnterStateAttack = GloinVoiceEnterStateAttack
 ;VoiceEnterStateAttackCharge = GloinVoiceEnterStateAttackCharge
 ;VoiceEnterStateAttackMachine = GloinVoiceEnterStateAttackBuilding
 ;VoiceEnterStateAttackStructure = GloinVoiceEnterStateAttackBuilding
 ;VoiceEnterStateMove = GloinVoiceEnterStateMove
 ;VoiceEnterStateMoveToCamp = GloinVoiceEnterStateMoveCamp
 ;VoiceEnterStateMoveWhileAttacking = GloinVoiceEnterStateDisengage
 ;VoiceEnterStateRetreatToCastle = GloinVoiceEnterStateRetreat

 SoundImpact = ImpactHorse

 UnitSpecificSounds
 VoiceGarrison = GloinVoiceMoveGarrison
 VoiceEnterUnitElvenTransportShip = GloinVoiceMoveShip
 VoiceInitiateCaptureBuilding = GloinVoiceCaptureBuilding
 ;VoiceEnterStateInitiateCaptureBuilding =
 End

 #include "..\..\..\includes\StandardUnitEvaEvents.inc"
 EvaEventDieOwner = GloinDie ;Eva event to trigger on unit's death. NOTICE THAT this is only for permanent deaths

 CrowdResponseKey = DwarfHero

 Behavior = LargeGroupAudioUpdate ModuleTag_LGAU ; Tie into LargeGroupAudio system
 Key = Humanoid_Male Dwarf Dwarf_Male Unit Infantry Hero
 End

 ClientBehavior = AnimationSoundClientBehavior ModuleTag_AnimAudioBehavior
 MaxUpdateRangeCap = 800
 AnimationSound = Sound:FootstepDirtA Animation:DUGloin_SKL.DUGloin_RUNA Frames:3 14
 AnimationSound = Sound:FootstepDirtA Animation:DUGloin_SKL.DUGloin_RUNB Frames:3 12

 AnimationSound = Sound:BodyFallSoldier Animation:DUGLOIN_SKL.DUGLOIN_LNDA Frames:7
 AnimationSound = Sound:BodyFallSoldier Animation:DUGLOIN_SKL.DUGLOIN_DTHA Frames:55
 ;AnimationSound = Sound:AxeDropSoundHere! Animation:DUGLOIN_SKL.DUGLOIN_DTHA Frames:42 ;axe falls
 AnimationSound = Sound:SwordIntoGroundQuiet Animation:DUGLOIN_SKL.DUGLOIN_SPCA Frames:61 ;striking ground with axe
 AnimationSound = Sound:SwordIntoGroundQuiet Animation:DUGLOIN_SKL.DUGLOIN_ATKB Frames:38 ;striking ground with axe
 End

 ; *** ENGINEERING Parameters ***

 RadarPriority = UNIT
 KindOf = PRELOAD SELECTABLE CAN_CAST_REFLECTIONS INFANTRY PATH_THROUGH_EACH_OTHER SCORE THROWN_OBJECT HERO ARMY_SUMMARY ATTACK_NEEDS_LINE_OF_SIGHT HEAVY_MELEE_HITTER PATH_THROUGH_INFANTRY
 PathfindDiameter = 40.0

 Body = RespawnBody ModuleTag_RespawnBody
 CheerRadius = EMOTION_CHEER_RADIUS
 MaxHealth = 3600
 PermanentlyKilledByFilter = NONE ;Who kills me permanently?
 DodgePercent = 80%
 End

 Behavior = RespawnUpdate ModuleTag_RespawnUpdate
 DeathAnim = DYING ;Model condition to play when killed-to-respawn
 ; DeathFX = FX_GloinDieToRespawn ;FXList to play when killed-to-respawn
 DeathAnimationTime = 4100 ;How long DeathAnim will take.
 ; InitialSpawnFX = FX_GloinInitialSpawn
 RespawnAnim = LEVELED ;Animation to play when respawning.
 ; RespawnFX = FX_GloinRespawn ;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 = HIGloinNew

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



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

 Behavior = StancesBehavior ModuleTag_StancesBehavior
 StanceTemplate = Hero
 End

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

 Behavior = AIUpdateInterface ModuleTag_03
 AutoAcquireEnemiesWhenIdle = Yes ATTACK_BUILDINGS
 MoodAttackCheckRate = 500
 HoldGroundCloseRangeDistance = 60
 End

 LocomotorSet
 Locomotor = RohanGimliLocomotor
 Condition = SET_NORMAL
 Speed = NORMAL_DWARF_HERO_SPEED
 End
; Locomotor = SET_WANDER HumanWanderLocomotor

 Behavior = PhysicsBehavior ModuleTag_04
 GravityMult = 1.0
 AllowBouncing = No
 ShockStunnedTimeLow = 1400 ;msec
 ShockStunnedTimeHigh = 2400 ;msec
 ShockStandingTime = 2600 ;msec
 End

 Behavior = SlowDeathBehavior ModuleTag_05
 DeathTypes = ALL -KNOCKBACK -FADED
 SinkDelay = 3000
 SinkRate = 0.40 ; in Dist/Sec
 DestructionDelay = 8000
 Sound = INITIAL GloinVoiceDie
 DeathFlags = DEATH_1
 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
 End

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

 CrushStyle = Yes ; I don't detonate, I just hit

 BounceCount = 0 ; When I hit the ground, I'll arc again

 FinalStuckTime = 1200 ; Can't move for this long afterwards

 GroundHitFX = FX_GimliLeapLand
 GroundHitWeapon = RohanGimliLeapWarhead
 PreLandingStateTime = 75; Look ahead to the end of the arc, and get the ABOUT_TO_HIT flag this far in advance
 End

 Behavior = EmotionTrackerUpdate Module_EmotionTracker
 TauntAndPointDistance = 300 ; max distance to taunted/pointed objet
 TauntAndPointUpdateDelay = 1000 ; how often scan (milliseconds)

 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

 Behavior = HitReactionBehavior HitReactionBehaviorModuleTag
 HitReactionLifeTimer1 = 2200 ; level 1 (light damage) hit reaction animations in frames (5 per sec)
 HitReactionLifeTimer2 = 15 ; level 2 (medium damage) hit reaction animations in frames (5 per sec)
 HitReactionLifeTimer3 = 10 ; level 3 (heavy damage) hit reaction animations in frames (5 per sec)

 HitReactionThreshold1 = 1.0 ; level 1 (light damage) threshold trigger
 HitReactionThreshold2 = 2500.0 ; level 2 (medium damage) threshold trigger
 HitReactionThreshold3 = 5000.0 ; level 3 (heavy damage) threshold trigger
 End



;-------------------------------------------------
; Herr vom einsamen Berg
;-------------------------------------------------

 Behavior = SpecialPowerModule ModuleTag_TheodenLeadershipUpdate2
 SpecialPowerTemplate = SpecialAbilityFakeLeadership2
 UpdateModuleStartsAttack = Yes
 StartsPaused = Yes
 End

 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_TheodenLeadership2
 SpecialPowerTemplate = SpecialAbilityFakeLeadership2
 TriggeredBy = Upgrade_Level_3
 End

 Behavior = AttributeModifierAuraUpdate ModuleTag_Leadership2
 StartsActive = No
 BonusName = GloinHerrvomeinsamenBerg
 TriggeredBy = Upgrade_Level_3
 RefreshDelay = 2000
 Range = 200
 ;AntiCategory = BUFF
 ObjectFilter = ANY +MACHINE -INFANTRY -CAVALRY -HERO -DOZER -STRUCTURE ALLIES
 End



 ;;;; SLAM SPECIAL ABILITY ;;;;;;;;--------------------------------------------------------------------
 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_SlamEnabler
 SpecialPowerTemplate = SpecialAbilityDwarvenGloinSlam
 TriggeredBy = Upgrade_Level_1
 End

 Behavior = SpecialPowerModule ModuleTag_SlamStarter
 SpecialPowerTemplate = SpecialAbilityDwarvenGloinSlam
 UpdateModuleStartsAttack = Yes
 StartsPaused = Yes
 InitiateSound = GloinVoiceGenericSpecialAbility
 End

 Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_SlamWeaponFireUpdate
 SpecialPowerTemplate = SpecialAbilityDwarvenGloinSlam
 SpecialWeapon = DwarvenGloinSlamWeapon
 WhichSpecialWeapon = 1 ; Corresponds to SPECIAL_WEAPON_ONE
 StartAbilityRange = 10.0

 SkipContinue = Yes
 UnpackTime = 1000 ; Trigger on frame 30 (of 69)
 PackTime = 1300 ; Remaining 39 frames (of 69)
 MustFinishAbility = Yes
 End
 Behavior = AutoAbilityBehavior ModuleTag_SlamAutoAbility
 SpecialAbility = SpecialAbilityDwarvenGloinSlam
 Query = 1 ANY ENEMIES +STRUCTURE -UNATTACKABLE ; structures as a preference
 Query = 1 ALL ENEMIES
 End



 ;;;; SHAKE FOUNDATION SPECIAL ABILITY ;;;;--------------------------------------------------------------------
 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_ShakeFoundationEnabler
 SpecialPowerTemplate = SpecialAbilityDwarvenGloinShakeFoundation
 TriggeredBy = Upgrade_Level_6
 End

 Behavior = SpecialPowerModule ModuleTag_ShakeFoundationStarter
 SpecialPowerTemplate = SpecialAbilityDwarvenGloinShakeFoundation
 UpdateModuleStartsAttack = Yes
 StartsPaused = Yes
 InitiateSound = GloinVoiceGenericSpecialAbility
 End

 Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_ShakeFoundationWeaponFireUpdate
 SpecialPowerTemplate = SpecialAbilityDwarvenGloinShakeFoundation
 SpecialWeapon = DwarvenGloinShakeFoundationWeapon
 WhichSpecialWeapon = 2 ; Corresponds to SPECIAL_WEAPON_TWO
 StartAbilityRange = 15.0

 SkipContinue = Yes
 UnpackTime = 1400 ; Trigger on frame 42 (of 115)
 PackTime = 2433 ; Remaining 73 frames (of 115)
 MustFinishAbility = Yes
 End
 Behavior = AutoAbilityBehavior ModuleTag_ShakeFoundationAutoAbility
 SpecialAbility = SpecialAbilityDwarvenGloinShakeFoundation
 Query = 1 ANY ENEMIES +STRUCTURE -UNATTACKABLE
 MaxScanRange = 100
 End


 ;;;; SHATTERHAMMER SPECIAL ABILITY ;;;;;;;;--------------------------------------------------------------------
 Behavior = UnpauseSpecialPowerUpgrade ModuleTag_SmashEnabler
 SpecialPowerTemplate = SpecialAbilityGloinSmash
 TriggeredBy = Upgrade_Level_10
 End

 Behavior = SpecialPowerModule ModuleTag_SmashStarter
 SpecialPowerTemplate = SpecialAbilityGloinSmash
 UpdateModuleStartsAttack = Yes
 StartsPaused = Yes
 InitiateSound = GloinVoiceGenericSpecialAbility
 End

 Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_SmashWeaponFireUpdate
 SpecialPowerTemplate = SpecialAbilityGloinSmash
 SpecialWeapon = GloinSmashWeaponMod
 WhichSpecialWeapon = 3 ; Corresponds to SPECIAL_WEAPON_THREE
 StartAbilityRange = 10.0

 SkipContinue = Yes
 UnpackTime = 2000 ; Trigger on frame 60 (of 100)
 PackTime = 1333 ; Remaining 40 frames (of 100)
 MustFinishAbility = Yes
 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 = ArmorUpgrade ModuleTag_ArmorUpgradeMithril
 TriggeredBy = Upgrade_DwarvenMithrilMailHeroes
 ArmorSetFlag = PLAYER_UPGRADE
 End

 Behavior = SubObjectsUpgrade ModuleTag_MithrilSkinwelchsel
 TriggeredBy = Upgrade_DwarvenMithrilMailHeroes
 UpgradeTexture = dugloinnew.tga 0 dugloinnew_ha.tga
 End

 Behavior = ProductionUpdate ProductionUpdateModuleTag
 GiveNoXP = Yes
 End




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

 Behavior = AISpecialPowerUpdate SlamAI
 CommandButtonName = Command_SpecialAbilityDwarvenGloinSlam
 SpecialPowerAIType = AI_SPECIAL_POWER_ENEMY_TYPE_KILLER_STRUCTURES
 SpecialPowerRange = 200
 End

 Behavior = AISpecialPowerUpdate ShakeFoundationAI
 CommandButtonName = Command_SpecialAbilityDwarvenGloinShakeFoundation
 SpecialPowerAIType = AI_SPECIAL_POWER_ENEMY_TYPE_KILLER_STRUCTURES
 SpecialPowerRange = 200
 End

 Behavior = AISpecialPowerUpdate GandalfWordOfPowerAI
 CommandButtonName = Command_SpecialAbilityGloinSmash
 SpecialPowerAIType = AI_SPECIAL_POWER_BASIC_SELF_BUFF
 SpecialPowerRadius = 250
 End



 Geometry = CYLINDER
 GeometryMajorRadius = 5.6
 GeometryMinorRadius = 5.6
 GeometryHeight = 16.0
 GeometryIsSmall = Yes

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

Puis ajoute ces lignes à la fin du fichier "upgrade.ini", juste après les lignes :
Code:
Upgrade Upgrade_FireDrakeInferno
  Type            = OBJECT
End
Ces lignes définissent les upgrades inexistantes demandées dans ton fichier "dwarvennewgloin" :

Code:
Upgrade Upgrade_Level_1
  Type              = OBJECT
End

Upgrade Upgrade_Level_3
  Type              = OBJECT
End

Upgrade Upgrade_Level_6
  Type            = OBJECT
End

Upgrade Upgrade_Level_10
  Type              = OBJECT
End

Upgrade Upgrade_DwarvenMithrilMailHeroes
 Type              = OBJECT
End

Une fois ceci fait, il faut ajouter ces upgrades au fichier "experiencelevels.ini".
-Ouvres donc ce fichier
-fais "Ctrl+F" et tape "ExperienceLevel GloinLevel1", puis fais "rechercher"
-Tu auras alors plusieurs blocs de code concernant les levels de gloïn.
Spoiler:

-Et là tu as deux solutions : soit tu ajoutes les upgrades aux niveaux correspondants ainsi que le nom de ton hé dans le champ en face de "TargetNames", soit ( plus sûr ) tu créé un nouvel experiencelevel pour ton nouveau héros ( et c'est ce que je vais te montrer Wink )

-------------Comment créer ton experiencelevel-----------

Le bloc de base :

ExperienceLevel TonHeroLevel1 ; c'est le titre de base à repecter, à la place de "TonHero", mets le nom que tu veux de préférence en rapport avec le héros visé Wink
TargetNames = TonHero ; ici tu DOIS mettre le nom du héros visé, le nom se trouve au début du fichier visé juste derrière la mention "Object", pour lurtz il s'agirait de "IsengardLurtz" Wink
RequiredExperience = 1 ; l'expérience requise pour atteindre ce niveau, ici pour le niveau 1 c'est 1
ExperienceAward = 40 ; c'est l'expérience que gagne ton adversaire en tuant ton héros à ce niveau. Pour rester cohérent, garde à l'esprit que plus un héros est haut level, plus il est fort et donc difficile à tuer et doit en conséquence rapporter plus d'expérience Wink
Rank = 1 ; c'est le rang, le level de ton héros qui sera affiché dans le palantir, ici c'est 1
Upgrades = Upgrade_que_tu_as_créé ; ici tu mets le nom de ton upgrade, qui sera donc vallable à partir de ce niveau
SelectionDecal ; il est inutile de toucher à ce bloc pour ce que tu veux faire
Texture = decal_hero_good
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40 ;16
MaxRadius = 200 ;16
MaxSelectedUnits = 40 ;1
End
End

Les blocs supérieurs au niveau 1 :

ExperienceLevel TonHeroLevel2
TargetNames = TonHero
RequiredExperience = 100 ; ici, tu dois avoir plus d'expérience à amasser qu'au niveau précédent, logique, sinon tu serai directement niveau max dès le début ( et c'est pas intéressant )
ExperienceAward = 60 ; ton héros ayant gagné en puissance grâce à ce qu'on appelle un "attributemodifier" ( qu'on voit juste en-dessous ), il est censé rapporter plus d'expérience à ton adversaire lorsqu'il est tué, logique !
AttributeModifiers = HeroLevelUpDamage1 ; c'est la nouveauté des blocs suivant celui du niveau 1. A chaque niveau, tu peux te servir de ces attributemodifiers pour changer les caractéristiques de ton héros, et ça peut aller très loin...ces attributemodifiers sont tous codés dans le fichier "attributemodifier.ini".
Rank = 2 ; changement de niveau affiché au niveau de l'écran Wink
LevelUpFx = FX:GandalfLevelUp1FX ; l'effet de passage de niveau, le cône de lumière avec les particules bleues *.*
;LevelUpOCL = OCL_GandalfLevelUp1OCL ; je sais pas ce que c'est mais ça n'empêche en rien de coder de l'experiencelevel Wink
Upgrades = Upgrade_que_tu_as_créé ; tu peux mettre une upgrade ou plus dans ce champ, mais tu n'est pas obligé d'en mettre à chaque niveau, contrairement aux attributemodifiers ^^
SelectionDecal
Texture = decal_hero_good
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40 ;16
MaxRadius = 200 ;16
MaxSelectedUnits = 40 ;1
End
END

Et maintenant, le code que tu dois rajouter à la fin du fichier "experriencelevels.ini" pour que tout fonctionne :

Code:
;----------- NEW GLOIN ------------------
ExperienceLevel NewGloinLevel1
   TargetNames                  =   DwarvenNewGloin
   RequiredExperience            =   1   
   ExperienceAward               =   35
   Rank                     =   1
   Upgrades                  =   Upgrade_Level_1 Upgrade_ElvenGift
   SelectionDecal
      Texture                  =   decal_hero_good   
      Style                  =   SHADOW_ALPHA_DECAL
      OpacityMin               =   50%   
      OpacityMax               =   100%
      MinRadius               =   40 ;16
      MaxRadius               =   200 ;16
      MaxSelectedUnits         =   40 ;1
   End   
End   


ExperienceLevel   NewGloinLevel2
   TargetNames                  =   DwarvenNewGloin
   RequiredExperience            =   40 
   ExperienceAward               =   40
   AttributeModifiers            =   HeroLevelUpDamage1
   Rank                     =   2
   Upgrade                   = Upgrade_DwarvenMithrilMailHeroes
   LevelUpFx                  =   FX:GandalfLevelUp1FX
   ;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   

ExperienceLevel   NewGloinLevel3
   TargetNames                  =   DwarvenNewGloin
   RequiredExperience            =   80 
   ExperienceAward               =   45   
   AttributeModifiers            =   HeroLevelUpDamage2
   Rank                     =   3
   Upgrades                        = Upgrade_Level_3
   LevelUpFx                  =   FX:GandalfLevelUp1FX
   ;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   

ExperienceLevel   NewGloinLevel4
   TargetNames                  =   DwarvenNewGloin
   RequiredExperience            =   120 
   ExperienceAward               =   50   
   AttributeModifiers            =   HeroLevelUpDamage3
   Rank                     =   4
   Upgrades                  =   Upgrade_EnableDwarvenNewGloinShakeFoundation
   LevelUpFx                  =   FX:GandalfLevelUp1FX
   ;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   

ExperienceLevel   NewGloinLevel5
   TargetNames                  =   DwarvenNewGloin
   RequiredExperience            =   350 
   ExperienceAward               =   60   
   AttributeModifiers            =   HeroLevelUpDamage4
   Rank                     =   5
   Upgrades                  =   
   LevelUpFx                  =   FX:GandalfLevelUp1FX
   ;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   

ExperienceLevel   NewGloinLevel6
   TargetNames                  =   DwarvenNewGloin
   RequiredExperience            =   580 
   ExperienceAward               =   75   
   AttributeModifiers            =   HeroLevelUpDamage5
   Rank                     =   6
   Upgrade                   = Upgrade_Level_6
   LevelUpFx                  =   FX:GandalfLevelUp1FX
   ;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   

ExperienceLevel   NewGloinLevel7
   TargetNames                  =   DwarvenNewGloin
   RequiredExperience            =   810 
   ExperienceAward               =   90   
   AttributeModifiers            =   HeroLevelUpDamage6
   Rank                     =   7
   LevelUpFx                  =   FX:GandalfLevelUp1FX
   ;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   

ExperienceLevel   NewGloinLevel8
   TargetNames                  =   DwarvenNewGloin
   RequiredExperience            =   1090
   ExperienceAward               =   105   
   AttributeModifiers            =   HeroLevelUpDamage7
   Rank                     =   8
   LevelUpFx                  =   FX:GandalfLevelUp1FX
   ;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   

ExperienceLevel   NewGloinLevel9
   TargetNames                  =   DwarvenNewGloin
   RequiredExperience            =   1370
   ExperienceAward               =   125   
   AttributeModifiers            =   HeroLevelUpDamage8
   Rank                     =   9
   LevelUpFx                  =   FX:GandalfLevelUp1FX
   ;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   

ExperienceLevel   NewGloinLevel10
   TargetNames                  =   DwarvenNewGloin
   RequiredExperience            =   1650 
   ExperienceAward               =   150   
     AttributeModifiers            =   HeroLevelUpDamage9
   Rank                     =   10
   Upgrade                   = Upgrade_Level_10
   LevelUpFx                  =   FX:GandalfLevelUp1FX
   ;LevelUpOCL                  =   OCL_GandalfLevelUp1OCL
   Upgrades                  =   Upgrade_EnableGloinSmash
   SelectionDecal
      Texture                  =   decal_hero_good
      Style                  =   SHADOW_ALPHA_DECAL
      OpacityMin               =   50%   
      OpacityMax               =   100%
      MinRadius               =   40 ;16
      MaxRadius               =   200 ;16
      MaxSelectedUnits         =   40 ;1
   End   
END   

Enfin, ajoute ton héros dans le playertemplate des nains ( ou de la faction ou tu veux qu'il soit Wink )

Edit : j'ai esssayé le souci c'est que dans le jeu le héros n'a pas d'anim ou presque pas ( il oscille de bas en haut ), il n'a pas d'image dans le palantir, et il va falloir que tu récupère les pouvoirs du mod d'où tu as pris ce nouveau gloïn ^^
Revenir en haut Aller en bas
https://vexod14.artstation.com
gandalf77
Moddeur confirmé
Moddeur confirmé
gandalf77


Nombre de messages : 202
Add-On : Oui
Date d'inscription : 09/08/2009

DwarvenGloin_Temp Empty
MessageSujet: Re: DwarvenGloin_Temp   DwarvenGloin_Temp Icon_minitimeVen 22 Juil - 23:16

Ah ben écoute c'est parfait, VRAIMENT MERCI BCP d'avoir pris le temps, sérieux trop nickel tes explications !!!
Le truc c'est que j'utilise un Mods c'est pour ça qu'il yavait déjà ces Upgrades et tout en faite c'est juste pour le model le soucis car tout comme toi il se contente de monter et descendre c'est con...
Mais finalement ton Tuto est parfait et va m'aider à pouvoir créer tout plein de truc donc merci vraiment !!!

Par la même occasion je me permet de te demander justement je veux créer un pouvoir donner à un héros qui consiste à invoquer deux ou trois Balrogs mais je sais pas si je dois partir du "pouvoir d'invocation des Balrogs" présent dans le palentir ou dans le mods (Edain Mods) que j'utilise y'a un pouvoir qui consiste à invoquer des elfes donc je voulais le copier pour invoquer mes balrogs MAIS JE NE SAIS PAS PAR OU COMMENCER, ni QUOI FAIRE ... confused confused

Voila les codes d'invocation elfiques présent dans l'Ini de "Thranduil_mod" :

;--------------------------------------------------------------------------
; Die Speere Düsterwalds
;--------------------------------------------------------------------------

Behavior = UnpauseSpecialPowerUpgrade ModuleTag_SummonEnabler
SpecialPowerTemplate = SpecialAbilityDieSpeereDüsterwalds
TriggeredBy = Upgrade_Level_5
End

Behavior = OCLSpecialPower ModuleTag_OCLSpecialPower
SpecialPowerTemplate = SpecialAbilityDieSpeereDüsterwalds
OCL = OCL_SpawnMirkwoddSpearmenEgg
CreateLocation = CREATE_AT_LOCATION
TriggerFX = FX_ElvenAlliesSummon
StartsPaused = Yes
;SetModelCondition = ModelConditionState:USER_1
;SetModelConditionTime = 8.1
End
Revenir en haut Aller en bas
Contenu sponsorisé





DwarvenGloin_Temp Empty
MessageSujet: Re: DwarvenGloin_Temp   DwarvenGloin_Temp Icon_minitime

Revenir en haut Aller en bas
 
DwarvenGloin_Temp
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Imladris production :: Ini codes et .str :: Discussion-
Sauter vers: