Désolé je pouvait pas poster avant (priorité au karting
)
Avertissement : les personnes allergiques aux maths devraient eviter de lire la suite
Bon en fait quand j'y pence c'est hyper simple je me demande pourquoi je n'y ai pas pencé plus tot.
Dirrection l'experienceLevel, prennons par exemple celui ci :
- Code:
-
ExperienceLevel GandalfLevel2
TargetNames = GANDALF
RequiredExperience = GANDALF_LVL2_EXP_NEEDED
ExperienceAward = GANDALF_LVL2_EXP_AWARD
AttributeModifiers = HeroLevelUpDamage1
Rank = 2
LevelUpFx = FX:GandalfLevelUp1FX
;LevelUpOCL = OCL_GandalfLevelUp1OCL
Upgrades = Upgrade_GandalfLightningSword
SelectionDecal
Texture = decal_hero_good
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
END
Deja que ca soit bien clair : on ne peut pas modifier la ligne RequiredExperience , on ne peut pas non plus en créer de nouveau
les seuls trucs qu'on peut modifier dans le map.ini c'est Rank , AttributeModifiers , LevelUpFx , LevelUpOCL et Upgrades , le reste on s'en fiche
et si on regardait la ligne
AttributeModifiers = HeroLevelUpDamage1 c'est en fait un attributeModifier que gagne le héro quand il passe le niveau :
- Code:
-
ModifierList HeroLevelUpDamage1
Category = LEVEL
Modifier = DAMAGE_ADD HERO_LVL2_DAM_ADD
Modifier = HEALTH HERO_LVL2_HP_ADD
Duration = 0
End
entre autre c'est grace a ca que les héro gagnent en attaque et en points de vie quand ils passent leurs niveau et grace a
Duration = 0 les effets sont permanent
Bon maintenant on va regarder cet atribute modifier la : c'est celui du charisme :
- Code:
-
ModifierList GenericHeroLeadership
Category = LEADERSHIP
Modifier = EXPERIENCE 200%
Modifier = ARMOR 50%
Modifier = DAMAGE_MULT 150%
Duration = 3000
FX = FX_GenericLeadership
ReplaceInCategoryIfLongest = Yes
IgnoreIfAnticategoryActive = Yes
End
vous connaissez les effets du charisme : + 50% de dégat, +50% d'armure et experience gagnée 2 fois plus rapidement,
tient c'est interressant ca l'experience gagnée 2 fois plus rapidement et si on mettait
EXPERIENCE 50% ? et bien l'experience serait gagnée 2 fois moins rapidement... ca y est vous voyez ou je veut en venir ?
si notre héro doit avoir en réalité 100 points d'experience pour passer un niveau et moi je veut modifier pour qu'il en ai besoin de 200 et bien il suffit de faire gagner l'experience 2 fois moins vite et c'est comme si on devait gagner 100 donc pour reprendre mon exemple, il suffit de créer un nouveau ModifierList avec le pourcentage d'experience gagnée :
- Code:
-
ModifierList ExperienceNiv1
Category = LEVEL
Modifier = EXPERIENCE 50%
Duration = 0
End
et on le met a l'experienceLevel précédent :
- Code:
-
ExperienceLevel GandalfLevel1
TargetNames = GANDALF
RequiredExperience = 1
ExperienceAward = GANDALF_LVL1_EXP_AWARD
Rank = 1
Upgrades = Upgrade_GandalfBlast
AttributeModifiers = ExperienceNiv1
SelectionDecal
Texture = decal_hero_good
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
End
gandalf a besoin de 100 points d'experience pour passer au niveau 2 mais comme au niveau 1 il a un attributeModifier pour gagner de l'experience 2 fois moins rapidement c'est comme si il lui fallait 200 points d'experience.
On continue : pour le niveau 3 il a besoin de 100 points d'experiences supplementaire sauf que moi j'aimerai qu'il ai besoin de 300 points experiences pour passer le niveau. N'oublions pas que gandalf gagne toujours 2 fois moins d'experience donc c'est comme si il devait avoir 200 points il faut donc calculer le pourcentage d'experience a gagner pour le mettre dans le ModifierList du niveau 3 soit 200/300 ce qui donne environ 66%
pour verifier il suffit de faire 50% du niv1 multiplié par les 66% du niv2 on obtient bien 33% soit l'experience gagnée 3 foit moins rapidement donc ca colle bien puisse il faut normalement 100 pt d'experience et moi j'en voulait 300
on peut donc mettre dans le map.ini :
- Code:
-
ModifierList ExperienceNiv2
Category = LEVEL
Modifier = EXPERIENCE 66%
Duration = 0
End
ExperienceLevel GandalfLevel2
TargetNames = GANDALF
RequiredExperience = GANDALF_LVL2_EXP_NEEDED
ExperienceAward = GANDALF_LVL2_EXP_AWARD
AttributeModifiers = HeroLevelUpDamage1 ExperienceNiv2
Rank = 2
LevelUpFx = FX:GandalfLevelUp1FX
;LevelUpOCL = OCL_GandalfLevelUp1OCL
Upgrades = Upgrade_GandalfLightningSword
SelectionDecal
Texture = decal_hero_good
Style = SHADOW_ALPHA_DECAL
OpacityMin = 50%
OpacityMax = 100%
MinRadius = 40
MaxRadius = 200
MaxSelectedUnits = 40
End
END
il suffit d'enchainer tout les niveaux commes ca, si par exemple la je n'avait plus rien ajouté ensuite gandalf aurait du gagné 3 fois plus d'experience que la normale jusqu'a la fin dans mon cas si j'avait voulu remettre le gain d'experience a un niveau normal j'aurai fait un ModifierList avec EXPERIENCE 300% en effet 33% * 300% ca fait bien 100% (99% en fait mais j'arrondit ^^)
/!\ /!\ /!\ Et surtout ne mettez pas EXPERIENCE 0% sinon il ne gagnera plus du tout d'experience et vous ne pourrez pas revenir en arriere apres (vous pouvez toujours tester mais un nombre multiplié par 0 ca fait toujours 0)
Bon voila le principe j'ai testé ca fonctionne impec chez moi, si vous n'avez pas comprit ... revoyez vos cours de math