Petites précisions avant de commencer : C'est des codes pour l'avenement du roi sorcier, certain pourrait marcher sur le 2 mais c'est pas sur.
Chaque bout de code est indépendant, il est donc possible qu'en additionnant certains quelques probleme peuvent arriver, plus particulierement quand les codes consernent le meme Object , il faudra frifouiller par vous meme pour les additionner. J'utiliserai aussi peut etre les meme nom d'object, d'upgrade, de pouvoir ou de module dans les object dans 2 codes différents .
Parfois l'utilisation de certains bout de codes affectent d'autre parties du jeu donc je le dirait aussi si c'est le cas (en particulier pour les commandbuttons)
J'ai essayé de mettre quelque anotation dans les codes pour vous y retrouver, car ce qui compte c'est de comprendre comment fonctionne l'ini et non les touche ctrl , c et v de votre clavier.
Si il y a une erreur (c'est possible), des questions a poser ou des amélioration sur les codes que je met, allez dans la discution sur l'ini je pence qu'on va créer un topic expres (et evitez si possible les mp, faut en faire profiter a tout le monde
)
Pour dévoiler le code il suffit d'appuyer sur spoiler
Rogash : 2 nouveaux pouvoirsAjoute 2 nouveaux pouvoirs a rogash :
au niveau 1, un charisme (+50% degat +50 armure +200% experience + un gros effet bleu) pour tout type de troll à coté de Rogash
et au niveau 5, une invocation de 3 bataillons de trolls des neiges avec un temps de vie
- Spoiler:
- Code:
-
; création du bataillon de troll des neiges avec un temps de vie
ChildObject AngmarSnowTroll_Invoque AngmarSnowTroll
IsTrainable = No
CommandPoints = 0
EquivalentTo = AngmarSnowTroll
AddModule
Behavior = LifetimeUpdate ModuleTag_LifetimeUpdate
MinLifetime = 90000
MaxLifetime = 90000
DeathType = FADED
End
End
AddModule
Behavior = SlowDeathBehavior ModuleTag_FadeDeath
DeathTypes = NONE +FADED
FadeDelay = 0
FadeTime = 2000
DestructionDelay = 2000
DeathFlags = DEATH_2
FX = INITIAL FX_RohirrimAlliesUnsummon
End
End
End
CommandSet AngmarSnowTrollHordeCommandSet2
1 = Command_ToggleStance
2 = Command_AngmarTrollChargeAttack
12 = Command_CaptureBuilding
13 = Command_AttackMove
14 = Command_Stop
16 = Command_SetStanceBattle
17 = Command_SetStanceAggressive
18 = Command_SetStanceHoldGround
End
ChildObject AngmarSnowTrollHorde_Invoque AngmarSnowTrollHorde
IsTrainable = No
CommandPoints = 0
CommandSet = AngmarSnowTrollHordeCommandSet2
EquivalentTo = AngmarSnowTrollHorde
KindOf = SUMMONED SELECTABLE CAN_ATTACK ATTACK_NEEDS_LINE_OF_SIGHT CAVALRY HORDE MELEE_HORDE ARMY_SUMMARY LARGE_RECTANGLE_PATHFIND TROLL
AddModule
Behavior = HorseHordeContain ModuleTag_HordeContain
FrontAngle = 270
FlankedDelay = 2000
ObjectStatusOfContained =
InitialPayload = AngmarSnowTroll_Invoque 6
Slots = 6
PassengerFilter = NONE +CAVALRY
ShowPips = No
RandomOffset = X:2 y:3
MeleeBehavior = Amoeba
End
ThisFormationIsTheMainFormation = Yes
RankInfo = RankNumber:1 UnitType:AngmarSnowTroll_Invoque Position:X:30 Y:-25 Position:X:30 Y:0 Position:X:30 Y:25 Position:X:0 Y:-25 Position:X:0 Y:0 Position:X:0 Y:25
RanksToReleaseWhenAttacking = 1
MeleeAttackLeashDistance = 1
End
End
AddModule
Behavior = ExperienceLevelCreate ModuleTag_MPLevelBonus
LevelToGrant = 2
MPOnly = No
End
End
AddModule
Behavior = LifetimeUpdate ModuleTag_LifetimeUpdate
MinLifetime = 90000
MaxLifetime = 90000
DeathType = FADED
End
End
End
; l'invocation
ObjectCreationList OCL_AngmarSnowTrollHorde
CreateObject
ObjectNames = AngmarSnowTrollHorde_Invoque
Count = 3
FadeIn = Yes
FadeTime = 2000
IgnoreCommandPointLimit = Yes
Disposition = SPAWN_AROUND
DispositionAngle = 120 ;SpawnAround uses this as the arc between guys
DispositionIntensity = 250 ; and this for distance from center
End
End
; le specialpower
SpecialPower InvocationDeTrollsDesNeiges
Enum = SPECIAL_SPELL_BOOK_MEN_OF_DALE_ALLIES
ReloadTime = 300000
RadiusCursorRadius = 80.0
Flags = LIMIT_DISTANCE NO_FORBIDDEN_OBJECTS
MaxCastRange = 200
ForbiddenObjectFilter = NO_SUMMON_NEAR_OBJECT_FILTER
ForbiddenObjectRange = 60.0
InitiateAtLocationSound = TrollVoiceSelect
End
; Les boutons utilisé pour les pouvoirs
CommandButton Command_EarnurFakeLeadershipButton
Command = SPECIAL_POWER
SpecialPower = SpecialAbilityFakeLeadership
Options = NONPRESSABLE
TextLabel = BANNERUI:Trolls
ButtonImage = HSFaramirLeadership
RadiusCursorType = TrainingRadiusCursor
;Upgrade = Upgrade_AragornLeadership
ButtonBorderType = ACTION
DescriptLabel = CONTROLBAR:ToolTipCreateAHeroLeadership_Palantir
InPalantir = Yes
End
CommandButton Command_ConstructSnowTrollFromDefectedLair
Command = SPECIAL_POWER
Object = None
SpecialPower = InvocationDeTrollsDesNeiges
Options = NEED_TARGET_POS CONTEXTMODE_COMMAND
RadiusCursorType = SummonOrcsRadiusCursor
TextLabel = CONTROLBAR:TooltipSoSSummonAllies_Level2
ButtonImage = KUSnowTrollIcon
ButtonBorderType = ACTION
DescriptLabel = BANNERUI:AngmarSnowTrolls
Radial = No
InPalantir = Yes
End
; les fx + les atributemodifier du charisme
FXParticleSystem BonusTroll
System
Priority = ALWAYS_RENDER
ParticleName = EXHPbibi.tga
Lifetime = 20 20
SystemLifetime = 80
SortLevel = 1
Size = 25 30
BurstDelay = 5 5
BurstCount = 1 1
End
Color = DefaultColor
Color2 = R:100 G:120 B:150 5
Color3 = R:0 G:0 B:0 20
Color4 = R:32 G:32 B:32 0
End
Update = DefaultUpdate
SizeRate = 1 1
SizeRateDamping = 1 1
AngleZ = 0 7
AngularDamping = 1 1
AngularDampingXY = 1 1
End
Physics = DefaultPhysics
Gravity = -0.01
VelocityDamping = 1 1
End
EmissionVelocity = OutwardEmissionVelocity
End
EmissionVolume = CylinderEmissionVolume
Offset = X:0 Y:0 Z:15
End
Draw = DefaultDraw
End
End
FXList FX_CharismeTroll
ParticleSystem
Name = BonusTroll
AttachToObject = Yes
End
End
ModifierList CharismeTroll
Category = LEADERSHIP
Modifier = EXPERIENCE 200%
Modifier = ARMOR 50%
Modifier = DAMAGE_MULT 150%
Duration = 3000
FX = FX_CharismeTroll
ReplaceInCategoryIfLongest = Yes
IgnoreIfAnticategoryActive = Yes
End
; le nouveau command set de Rogash
CommandSet AngmarRogashCommandSet2
1 = Command_ToggleStance
2 = Command_RogashDominateTroll
3 = Command_EarnurFakeLeadershipButton
4 = Command_RogashLeap
5 = Command_ConstructSnowTrollFromDefectedLair
6 = Command_SpecialAbilityRageoftheNorth
12 = Command_CaptureBuilding
13 = Command_AttackMove
14 = Command_Stop
16 = Command_SetStanceBattle
17 = Command_SetStanceAggressive
18 = Command_SetStanceHoldGround
End
; La star, Rogash
Object AngmarRogash
CommandSet = AngmarRogashCommandSet2
;;;;;;;;;;;;;;;;;;;;;;; pouvoir charisme ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Le module du charisme en lui meme,
; aucun module qui débloque le bouton car le pouvoir est deja au niveau 1
AddModule
Behavior = AttributeModifierAuraUpdate ModuleTag_Charisme
StartsActive = Yes
BonusName = CharismeTroll
RefreshDelay = 2000
Range = 200
AntiCategory = BUFF
ObjectFilter = NONE +TROLL -HERO
End
End
;;;;;;;;;;;;;;;;;;; pouvoir invocation de troll ;;;;;;;;;;;;;;;;;;;
; Le Module qui débloque le bouton
AddModule
Behavior = UnpauseSpecialPowerUpgrade ModuleTag_InvocDeTrolls
SpecialPowerTemplate = InvocationDeTrollsDesNeiges
TriggeredBy = Upgrade_GimliSlayerTrigger
End
End
; Le Module du pouvoir
AddModule
Behavior = OCLSpecialPower ModuleTag_OCLInvocDeTrolls
SpecialPowerTemplate = InvocationDeTrollsDesNeiges
OCL = OCL_AngmarSnowTrollHorde
CreateLocation = CREATE_AT_LOCATION
StartsPaused = Yes
End
End
End
Les problemes : - J'utilise un bouton de Earnur un héro non disponible si par hasard vous l'avez sur votre carte son charisme aura un texte incohérent.
- J'utilise un bouton de l'antre a troll des neiges si vous en avez mis une sur votre carte mieux vaux la retirer car si un joueur qui la controle tente d'utiliser le pouvoir, ca fera surement un bug
- J'ai peut etre un peu forcé sur le fx du charisme des troll (trop de bleu), mais en tout cas il est classe.
Gandalf : plus d'éclair au pouvoir épée éclairLe pouvoir épée éclair envoit 5 eclairs à la fois, avec 50 éclairs au total
- Spoiler:
- Code:
-
Object GondorGandalf
ReplaceModule ModuleTag_12
Behavior = ArrowStormUpdate ModuleTag_12x
SpecialPowerTemplate = SpecialAbilityLightningSword
StartAbilityRange = 275.0
UnpackingVariation = 1
UnpackTime = 2500 ; Pull out arrow
PreparationTime = 1 ; Quick shot
PersistentPrepTime = 500 ; looping the quick shot
PackTime = 1500 ; back to idle
ApproachRequiresLOS = Yes
AwardXPForTriggering = 0
ActiveLoopSound = GandalfLightningLoop
WeaponTemplate = GandalfLightningSwordBlastWeapon
TargetRadius = 120
ShotsPerTarget = 1
ShotsPerBurst = 5 ; nombre d'éclairs par tirs
MaxShots = 50 ; nombre d'éclairs total
End
End
End
Balrog : Feux du destin a la place des posturesCa remplace le choix des posture par le pouvoir de sauron ( la grosse boule de feu qui tombe du ciel )
- Spoiler:
- Code:
-
CommandSet BalrogCommandSet2 ; le nouveau commandset
1 = Command_SpecialAbilityIgnite
2 = Command_SpecialAbilityFireWhip
3 = Command_SpecialAbilityBalrogScream
4 = Command_SpecialAbilityBalrogBreath
5 = Command_SpecialAbilityBalrogWings
6 = Command_FiresOfDoom
13 = Command_AttackMove
14 = Command_Stop
16 = Command_SetStanceBattle
17 = Command_SetStanceAggressive
18 = Command_SetStanceHoldGround
End
Object MordorBalrog
CommandSet = BalrogCommandSet2
; les 2 modules pour le pouvoir
AddModule
Behavior = SpecialPowerModule ModuleTag_FiresOfDoom
SpecialPowerTemplate = FiresOfDoomSpecialPower
UpdateModuleStartsAttack = Yes
StartsPaused = No
End
End
AddModule
Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_FiresOfDoomUpdate
SpecialPowerTemplate = FiresOfDoomSpecialPower
WhichSpecialWeapon = 3
SkipContinue = Yes
UnpackTime = 900
PreparationTime = 1
PersistentPrepTime = 1500
PackTime = 1100
FreezeAfterTriggerDuration = 2500
AwardXPForTriggering = 0
StartAbilityRange = 300.0
MustFinishAbility = Yes
SpecialWeapon = SauronFiresOfDoomWeapon
End
End
End
Le probleme : pas d'animation sur le balrog quand il utilise le pouvoir (car il fallait recopier tout le draw ce qui prennait trop de place), si vous voulez qu'il fasse un truc pendant le lancement du pouvoir il faudra faire ReplaceModule sur le draw du balrog et y ajouter l'animation pour.
Balrog : l'ajouter en héroC'est un nouveau balrog qui est recrutable dans la forteresse et qui est revivable. N'oubliez pas de l'ajouter à la liste des héros de la faction que vous voulez de playertemplate.ini
- Spoiler:
- Code:
-
// on crée un Object qui part du balrog invoqué
ChildObject MordorBalrog2 MordorBalrog
// prix et temps de construction
BuildCost = 10000
BuildTime = 300 ; en secondes
EquivalentTo = MordorBalrog
KindOf = HERO PRELOAD SELECTABLE CAN_CAST_REFLECTIONS MONSTER SCORE CAN_ATTACK NO_FREEWILL_ENTER PATH_THROUGH_INFANTRY SCARY BIG_MONSTER CAN_ATTACK_WALLS
// le texte quand on le recrute ou quand on le fait revivre
RecruitText = CONTROLBAR:SummonBalrog
ReviveText = CONTROLBAR:SummonBalrog
// on vire le module de vie de l'ancien balrog et on en met un nouveau
// je n'ai pas fait de ReplaceModule car avant c'etait un ActiveBody
// maintenant c'est un RespawnBody pour pouvoir le faire revivre
// car ReplaceModule ne fonctionne que si c'est les meme type de module
RemoveModule ModuleTag_02
AddModule
Body = RespawnBody ModuleTag_02x
MaxHealth = BALROG_HEALTH
PermanentlyKilledByFilter = NONE
End
End
// on ajoute un module pour qu'il puisse etre réappelé à la forteresse
// je n'ai pas mis de fx mais vous pouvez en mettre pour les voix
AddModule
Behavior = RespawnUpdate ModuleTag_RespawnUpdate
DeathAnim = DEATH_1 ; anim quand il meurt
// DeathFX = Nom d'un FXList a jouer quand il meurt
RespawnAnim = SPECIAL_WEAPON_ONE ; l'anim quand il revient
// RespawnFX = Nom d'un FXList a jouer quand il revient
AutoRespawnAtObjectFilter = NONE +CASTLE_KEEP ; dans une forteresse
ButtonImage = HIBalrog_res ; l'image du balrog en bleue
RespawnRules = AutoSpawn:No Cost:8000 Time:300 Health:100%
End
End
// on vire le module du temps de vie
RemoveModule ModuleTag_LifetimeUpdate
End
// ne n'oubliez pas d'ajouter MordorBalrog2 dans la liste des héros recrutable
// dans la factions de votre choix visible dans playertemplate.ini
Le problème : comme c'est dans un map.ini on ne peut pas lui attribuer d'experienceLevel ce qui fait qu'il apparaitra au niveau 0, de plus je n'ai pas mis de voix quand il apparaissait mais vous pouvez facilement les ajouter.