Диккен
Участник форума
- Регистрация
- 12 Июн 2004
- Сообщения
- 469
- Благодарности
- 127
- Баллы
- 210
Альтернативный вариант кольца, для повышение сложности игры для стандартного развития героя "воин с одноручным мечом". Изменение двух скриптов: MissionItems_Addon.d и Einhand_EquipBonus.d
MissionItems_Addon.d
MissionItems_Addon.d (кольцо из мода "UNnamed v1.53 (Unofficial Update)")
Einhand_EquipBonus.d (на базе мода "Gothic II - L'HIVER Edition")
Einhand_EquipBonus.d (на базе мода "UNnamed v1.53 (Unofficial Update)")
Выражаю благодарность авторам модов "Gothic II - L'HIVER Edition" и "UNnamed v1.53 (Unofficial Update)" за идею и исходный код для моддинга.
MissionItems_Addon.d
Daedalus:
instance ItRi_Addon_MorgansRing_Mission(C_Item)
{
text[2] = NAME_ADDON_BONUS_1H;
text[3] = "Принцип работы: замещает модификатор оружия";
};
Daedalus:
func void Equip_MorgansRing()
{
var int talent;
var int talentbonus;
HERO_1H_TALENTBONUS = TRUE;
if(Npc_IsPlayer(self))
{
talent = self.aivar[REAL_TALENT_1H];
self.HitChance[NPC_TALENT_1H] = talent;
//B_AddFightSkill(self,NPC_TALENT_1H,10);
if((self.HitChance[NPC_TALENT_1H] + Waffenbonus_10) > 100)
{
talentbonus = 100 - self.HitChance[NPC_TALENT_1H];
B_AddFightSkill(self,NPC_TALENT_1H,talentbonus);
}
else
{
B_AddFightSkill(self,NPC_TALENT_1H,Waffenbonus_10);
};
};
};
func void UnEquip_MorgansRing()
{
var C_Item meleeWeapon;
var int talent;
HERO_1H_TALENTBONUS = FALSE;
if(Npc_IsPlayer(self))
{
talent = self.aivar[REAL_TALENT_1H];
self.HitChance[NPC_TALENT_1H] = talent;
if(talent < 60)
{
B_AddFightSkill(self,NPC_TALENT_1H,0); //нужно сбросить текущую модель анимации, при переходе с 60% до 50% или с 30% до 20%.
};
if(Npc_HasEquippedMeleeWeapon(self))
{
meleeWeapon = Npc_GetEquippedMeleeWeapon(self);
if(Hlp_StrCmp(meleeWeapon.text[4],NAME_ADDON_BONUS_1H))
{
if(meleeWeapon.count[4] == 10)
{
Equip_1H_10();
}
else if(meleeWeapon.count[4] == 9)
{
Equip_1H_09();
}
else if(meleeWeapon.count[4] == 8)
{
Equip_1H_08();
}
else if(meleeWeapon.count[4] == 7)
{
Equip_1H_07();
}
else if(meleeWeapon.count[4] == 6)
{
Equip_1H_06();
}
else if(meleeWeapon.count[4] == 5)
{
Equip_1H_05();
}
else if(meleeWeapon.count[4] == 4)
{
Equip_1H_04();
}
else if(meleeWeapon.count[4] == 3)
{
Equip_1H_03();
}
else if(meleeWeapon.count[4] == 2)
{
Equip_1H_02();
};
};
};
};
};
MissionItems_Addon.d (кольцо из мода "UNnamed v1.53 (Unofficial Update)")
Daedalus:
var int hero_morganring_1h_max_bonus;
instance ItRi_Addon_MorgansRing_Mission(C_Item)
{
name = "Кольцо Моргана";
mainflag = ITEM_KAT_MAGIC;
flags = ITEM_RING | ITEM_MISSION;
value = 500;
visual = "ItRi_Prot_Total_02.3DS";
material = MAT_METAL;
on_equip = Equip_MorgansRing;
on_unequip = UnEquip_MorgansRing;
wear = WEAR_EFFECT;
effect = "SPELLFX_ITEMGLIMMER";
description = name;
text[1] = "На кольце выгравированы изящные руны.";
text[2] = NAME_ADDON_BONUS_1H;
count[2] = 10;
text[5] = NAME_Value;
count[5] = value;
inv_zbias = INVCAM_ENTF_RING_STANDARD;
inv_rotz = INVCAM_Z_RING_STANDARD;
inv_rotx = INVCAM_X_RING_STANDARD;
};
func void Equip_MorgansRing()
{
if(self.voice == 15)
{
if(self.HitChance[NPC_TALENT_1H] <= 90)
{
B_AddFightSkill(self,NPC_TALENT_1H,10);
}
else
{
HERO_MORGANRING_1H_MAX_BONUS = 100 - self.HitChance[NPC_TALENT_1H];
B_AddFightSkill(self,NPC_TALENT_1H,HERO_MORGANRING_1H_MAX_BONUS);
};
};
};
func void UnEquip_MorgansRing()
{
if(self.voice == 15)
{
if(self.HitChance[NPC_TALENT_1H] <= 90)
{
B_AddFightSkill(self,NPC_TALENT_1H,-10);
}
else
{
B_AddFightSkill(self,NPC_TALENT_1H,-HERO_MORGANRING_1H_MAX_BONUS);
};
};
};
Einhand_EquipBonus.d (на базе мода "Gothic II - L'HIVER Edition")
Daedalus:
var int hero_1h_max_bonus; //переменная для контроля пограничного значения навыка свыше 100.
var int hero_1h_talentbonus; //переменная для кольца, значения TRUE или FALSE.
func void Equip_1H_02()
{
if(Npc_IsPlayer(self))
{
if(HERO_1H_TALENTBONUS == TRUE)
{
return;
};
if((self.HitChance[NPC_TALENT_1H] + Waffenbonus_02) > 100)
{
HERO_1H_MAX_BONUS = 100 - self.HitChance[NPC_TALENT_1H];
B_AddFightSkill(self,NPC_TALENT_1H,HERO_1H_MAX_BONUS);
}
else
{
HERO_1H_MAX_BONUS = -1;
B_AddFightSkill(self,NPC_TALENT_1H,Waffenbonus_02);
};
};
};
func void UnEquip_1H_02()
{
if(Npc_IsPlayer(self))
{
if(HERO_1H_TALENTBONUS == TRUE)
{
return;
};
if(HERO_1H_MAX_BONUS < 0)
{
B_AddFightSkill(self,NPC_TALENT_1H,-Waffenbonus_02);
}
else
{
B_AddFightSkill(self,NPC_TALENT_1H,-HERO_1H_MAX_BONUS);
};
};
};
Einhand_EquipBonus.d (на базе мода "UNnamed v1.53 (Unofficial Update)")
Daedalus:
var int hero_1h_max_bonus; //переменная для контроля пограничного значения навыка свыше 100.
var int hero_1h_talentbonus; //переменная для кольца, значения TRUE или FALSE.
func void Equip_1H_02()
{
if(self.voice == 15)
{
if(HERO_1H_TALENTBONUS == TRUE)
{
return;
};
if(self.HitChance[NPC_TALENT_1H] <= 98)
{
B_AddFightSkill(self,NPC_TALENT_1H,Waffenbonus_02);
}
else
{
HERO_1H_MAX_BONUS = 100 - self.HitChance[NPC_TALENT_1H];
B_AddFightSkill(self,NPC_TALENT_1H,HERO_1H_MAX_BONUS);
};
};
};
func void UnEquip_1H_02()
{
if(self.voice == 15)
{
if(HERO_1H_TALENTBONUS == TRUE)
{
return;
};
if(self.HitChance[NPC_TALENT_1H] <= 98)
{
B_AddFightSkill(self,NPC_TALENT_1H,-Waffenbonus_02);
}
else
{
B_AddFightSkill(self,NPC_TALENT_1H,-HERO_1H_MAX_BONUS);
};
};
};
Выражаю благодарность авторам модов "Gothic II - L'HIVER Edition" и "UNnamed v1.53 (Unofficial Update)" за идею и исходный код для моддинга.
Последнее редактирование: