lee, это баг движка. Игра не сразу присваивает оверлеи анимаций, а только после сохранения и загрузки. Просто сохрани игру и загрузи, анимации будут правильные. Чтобы побороть баг, нужно изменять скрипт B_AddFightSkill.d, конкретно дописать к каждому навыку присвоение нужного оверлея. Тогда анимации будут присваиваться сразу.
Исправленный файл:
func void B_AddFightSkill(var C_Npc slf,var int talent,var int percent)
{
if(talent == NPC_TALENT_1H)
{
slf.HitChance[NPC_TALENT_1H] = slf.HitChance[NPC_TALENT_1H] + percent;
if(slf.HitChance[NPC_TALENT_1H] >= 0)
{
Npc_SetTalentSkill(slf,NPC_TALENT_1H,0);
};
if(slf.HitChance[NPC_TALENT_1H] >= 30)
{
Npc_SetTalentSkill(slf,NPC_TALENT_1H,1);
Mdl_ApplyOverlayMds(self,"humans_1hST1.mds");
};
if(slf.HitChance[NPC_TALENT_1H] >= 60)
{
Npc_SetTalentSkill(slf,NPC_TALENT_1H,2);
Mdl_ApplyOverlayMds(self,"humans_1hST2.mds");
};
};
if(talent == NPC_TALENT_2H)
{
slf.HitChance[NPC_TALENT_2H] = slf.HitChance[NPC_TALENT_2H] + percent;
if(slf.HitChance[NPC_TALENT_1H] >= 0)
{
Npc_SetTalentSkill(slf,NPC_TALENT_2H,0);
};
if(slf.HitChance[NPC_TALENT_2H] >= 30)
{
Npc_SetTalentSkill(slf,NPC_TALENT_2H,1);
Mdl_ApplyOverlayMds(self,"humans_2hST1.mds");
};
if(slf.HitChance[NPC_TALENT_2H] >= 60)
{
Npc_SetTalentSkill(slf,NPC_TALENT_2H,2);
Mdl_ApplyOverlayMds(self,"humans_2hST2.mds");
};
};
if(talent == NPC_TALENT_BOW)
{
slf.HitChance[NPC_TALENT_BOW] = slf.HitChance[NPC_TALENT_BOW] + percent;
if(slf.HitChance[NPC_TALENT_BOW] >= 0)
{
Npc_SetTalentSkill(slf,NPC_TALENT_BOW,0);
};
if(slf.HitChance[NPC_TALENT_BOW] >= 30)
{
Npc_SetTalentSkill(slf,NPC_TALENT_BOW,1);
Mdl_ApplyOverlayMds(self,"humans_BowT1.mds");
};
if(slf.HitChance[NPC_TALENT_BOW] >= 60)
{
Npc_SetTalentSkill(slf,NPC_TALENT_BOW,2);
Mdl_ApplyOverlayMds(self,"humans_BowT2.mds");
};
};
if(talent == NPC_TALENT_CROSSBOW)
{
slf.HitChance[NPC_TALENT_CROSSBOW] = slf.HitChance[NPC_TALENT_CROSSBOW] + percent;
if(slf.HitChance[NPC_TALENT_CROSSBOW] >= 0)
{
Npc_SetTalentSkill(slf,NPC_TALENT_CROSSBOW,0);
};
if(slf.HitChance[NPC_TALENT_CROSSBOW] >= 30)
{
Npc_SetTalentSkill(slf,NPC_TALENT_CROSSBOW,1);
Mdl_ApplyOverlayMds(self,"humans_CBowT1.mds");
};
if(slf.HitChance[NPC_TALENT_CROSSBOW] >= 60)
{
Npc_SetTalentSkill(slf,NPC_TALENT_CROSSBOW,2);
Mdl_ApplyOverlayMds(self,"humans_CBowT2.mds");
};
};
};