|
Re: Уроки скриптологии
* *18. Функции, связанные с оружием Белиара.
Файл B_ScHasBeliarsWeapon.d
// Имеет ли ГГ руны Белиара? // ---------------------------------------------------------------- // Возвращаемое значение: TRUE - да, FALSE - нет func int C_SCHasBeliarsRune() { * *// если ГГ имеет * *if (Npc_HasItems(hero,ItRu_BeliarsRage) * * == TRUE) * *// Ярость Белиара * *¦¦ (Npc_HasItems(hero,ItRu_SuckEnergy) * * *== TRUE) * *// или Украсть энергию * *¦¦ (Npc_HasItems(hero,ItRu_GreenTentacle) * == TRUE) * *// или Зеленые щупальца * *¦¦ (Npc_HasItems(hero,ItRu_Swarm) * * * * * == TRUE) * *// или Рой * *¦¦ (Npc_HasItems(hero,ItRu_Skull) * * * * * == TRUE) * *// или Крик мертвых * *¦¦ (Npc_HasItems(hero,ItRu_SummonZombie) * *== TRUE) * *// или Создать зомби * *¦¦ (Npc_HasItems(hero,ItRu_SummonGuardian) *== TRUE) * *// или Создать стража * *{ * * * *return TRUE; * *}; * *return FALSE; };
// Имеет ли ГГ оружие Белиара? // ---------------------------------------------------------------- // Возвращаемое значение: TRUE - да, FALSE - нет func int C_ScHasBeliarsWeapon() { * * *// если ГГ имеет один из одноручников * *if (Npc_HasItems(hero,ItMw_BeliarWeapon_Raven) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_1H_01) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_1H_02) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_1H_03) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_1H_04) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_1H_05) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_1H_06) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_1H_07) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_1H_08) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_1H_09) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_1H_10) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_1H_11) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_1H_12) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_1H_13) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_1H_14) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_1H_15) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_1H_16) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_1H_17) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_1H_18) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_1H_19) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_1H_20) * *// или один из двуручников * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_2H_01) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_2H_02) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_2H_03) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_2H_04) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_2H_05) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_2H_06) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_2H_07) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_2H_08) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_2H_09) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_2H_10) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_2H_11) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_2H_12) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_2H_13) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_2H_14) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_2H_15) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_2H_16) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_2H_17) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_2H_18) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_2H_19) * *¦¦ Npc_HasItems(hero,ItMw_BeliarWeapon_2H_20) * *// или руны Белиара * *¦¦ C_ScHasBeliarsRune()) * *{ * * * *return TRUE; * *}; * *return FALSE; }; *
// Является ли оружие ГГ оружием Белиара? // ---------------------------------------------------------------- // Аргумент: Weap - проверяемый предмет // ---------------------------------------------------------------- // Возвращаемое значение: TRUE - да, FALSE - нет func int C_IsItemBeliarsWeapon(var C_ITEM Weap) { * * *// если предмет является одним из одноручников * *if (Hlp_IsItem(Weap,ItMw_BeliarWeapon_Raven) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_1H_01) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_1H_02) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_1H_03) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_1H_04) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_1H_05) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_1H_06) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_1H_07) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_1H_08) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_1H_09) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_1H_10) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_1H_11) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_1H_12) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_1H_13) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_1H_14) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_1H_15) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_1H_16) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_1H_17) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_1H_18) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_1H_19) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_1H_20) == TRUE) * *// или одним из двуручников * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_2H_01) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_2H_02) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_2H_03) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_2H_04) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_2H_05) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_2H_06) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_2H_07) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_2H_08) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_2H_09) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_2H_10) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_2H_11) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_2H_12) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_2H_13) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_2H_14) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_2H_15) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_2H_16) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_2H_17) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_2H_18) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_2H_19) == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItMw_BeliarWeapon_2H_20) == TRUE) * *// или одной из рун Белиара * *¦¦ (Hlp_IsItem(Weap,ItRu_BeliarsRage) * * * *== TRUE) * *¦¦ (Hlp_IsItem(Weap,ItRu_SuckEnergy) * * * * == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItRu_GreenTentacle) * * *== TRUE) * *¦¦ (Hlp_IsItem(Weap,ItRu_Swarm) * * * * * * *== TRUE) * *¦¦ (Hlp_IsItem(Weap,ItRu_Skull) * * * * * * *== TRUE) * *¦¦ (Hlp_IsItem(Weap,ItRu_SummonZombie) * * * == TRUE) * *¦¦ (Hlp_IsItem(Weap,ItRu_SummonGuardian) * * == TRUE) * *{ * * * *return TRUE; * *}; * *return FALSE; }; *
// Является ли оружие ГГ дальнего радиуса повреждения оружием Белиара? // ---------------------------------------------------------------- // Возвращаемое значение: TRUE - да, FALSE - нет func int C_ScHasReadiedBeliarsWeapon() { * * *var C_ITEM ReadyWeap; * *// получить ссылку на оружие дальнего радиуса поражения, которым экипирован ГГ * *ReadyWeap = Npc_GetReadiedWeapon(hero); * *// если это оружие Белиара * *if(C_IsItemBeliarsWeapon(ReadyWeap)) * *{ * * * *return TRUE; * *}; * *return FALSE; };
// Является ли оружие ГГ ближнего радиуса повреждения оружием Белиара? // ---------------------------------------------------------------- // Возвращаемое значение: TRUE - да, FALSE - нет func int C_ScHasEquippedBeliarsWeapon() { * * *var C_ITEM EquipWeap; * *// получить ссылку на оружие ближнего радиуса поражения, которым экипирован ГГ * *EquipWeap = Npc_GetEquippedMeleeWeapon(hero); * *// если это оружие Белиара * *if(C_IsItemBeliarsWeapon(EquipWeap)) * *{ * * * *return TRUE; * *}; * * * *return FALSE; //DEFAULT };
// Удалить оружие Белиара из инвентаря ГГ func void B_ClearBeliarsWeapon () { * * *// если ГГ имеет один из одноручников, то удалить его * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_Raven,N pc_HasItems(hero,ItMw_BeliarWe apon_Raven)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_1H_01,N pc_HasItems(hero,ItMw_BeliarWe apon_1H_01)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_1H_02,N pc_HasItems(hero,ItMw_BeliarWe apon_1H_02)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_1H_03,N pc_HasItems(hero,ItMw_BeliarWe apon_1H_03)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_1H_04,N pc_HasItems(hero,ItMw_BeliarWe apon_1H_04)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_1H_05,N pc_HasItems(hero,ItMw_BeliarWe apon_1H_05)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_1H_06,N pc_HasItems(hero,ItMw_BeliarWe apon_1H_06)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_1H_07,N pc_HasItems(hero,ItMw_BeliarWe apon_1H_07)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_1H_08,N pc_HasItems(hero,ItMw_BeliarWe apon_1H_08)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_1H_09,N pc_HasItems(hero,ItMw_BeliarWe apon_1H_09)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_1H_10,N pc_HasItems(hero,ItMw_BeliarWe apon_1H_10)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_1H_11,N pc_HasItems(hero,ItMw_BeliarWe apon_1H_11)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_1H_12,N pc_HasItems(hero,ItMw_BeliarWe apon_1H_12)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_1H_13,N pc_HasItems(hero,ItMw_BeliarWe apon_1H_13)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_1H_14,N pc_HasItems(hero,ItMw_BeliarWe apon_1H_14)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_1H_15,N pc_HasItems(hero,ItMw_BeliarWe apon_1H_15)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_1H_16,N pc_HasItems(hero,ItMw_BeliarWe apon_1H_16)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_1H_17,N pc_HasItems(hero,ItMw_BeliarWe apon_1H_17)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_1H_18,N pc_HasItems(hero,ItMw_BeliarWe apon_1H_18)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_1H_19,N pc_HasItems(hero,ItMw_BeliarWe apon_1H_19)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_1H_20,N pc_HasItems(hero,ItMw_BeliarWe apon_1H_20)); * *// если ГГ имеет один из двуручников, то удалить его * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_2H_01,N pc_HasItems(hero,ItMw_BeliarWe apon_2H_01)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_2H_02,N pc_HasItems(hero,ItMw_BeliarWe apon_2H_02)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_2H_03,N pc_HasItems(hero,ItMw_BeliarWe apon_2H_03)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_2H_04,N pc_HasItems(hero,ItMw_BeliarWe apon_2H_04)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_2H_05,N pc_HasItems(hero,ItMw_BeliarWe apon_2H_05)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_2H_06,N pc_HasItems(hero,ItMw_BeliarWe apon_2H_06)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_2H_07,N pc_HasItems(hero,ItMw_BeliarWe apon_2H_07)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_2H_08,N pc_HasItems(hero,ItMw_BeliarWe apon_2H_08)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_2H_09,N pc_HasItems(hero,ItMw_BeliarWe apon_2H_09)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_2H_10,N pc_HasItems(hero,ItMw_BeliarWe apon_2H_10)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_2H_11,N pc_HasItems(hero,ItMw_BeliarWe apon_2H_11)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_2H_12,N pc_HasItems(hero,ItMw_BeliarWe apon_2H_12)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_2H_13,N pc_HasItems(hero,ItMw_BeliarWe apon_2H_13)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_2H_14,N pc_HasItems(hero,ItMw_BeliarWe apon_2H_14)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_2H_15,N pc_HasItems(hero,ItMw_BeliarWe apon_2H_15)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_2H_16,N pc_HasItems(hero,ItMw_BeliarWe apon_2H_16)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_2H_17,N pc_HasItems(hero,ItMw_BeliarWe apon_2H_17)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_2H_18,N pc_HasItems(hero,ItMw_BeliarWe apon_2H_18)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_2H_19,N pc_HasItems(hero,ItMw_BeliarWe apon_2H_19)); * *Npc_RemoveInvItems(hero,ItMw_BeliarWeapon_2H_20,N pc_HasItems(hero,ItMw_BeliarWe apon_2H_20)); * *// если ГГ имеет одну из рун Белиара, то удалить её * *Npc_RemoveInvItems(hero,ItRu_BeliarsRage * * * ,Npc_HasItems(hero,ItRu_BeliarsRage)); * *Npc_RemoveInvItems(hero,ItRu_SuckEnergy * * * *,Npc_HasItems(hero,ItRu_SuckEnergy)); * *Npc_RemoveInvItems(hero,ItRu_GreenTentacle * * ,Npc_HasItems(hero,ItRu_GreenTentacle)); * *Npc_RemoveInvItems(hero,ItRu_Swarm * * * * * * ,Npc_HasItems(hero,ItRu_Swarm)); * *Npc_RemoveInvItems(hero,ItRu_Skull * * * * * * ,Npc_HasItems(hero,ItRu_Skull)); * *Npc_RemoveInvItems(hero,ItRu_SummonZombie * * *,Npc_HasItems(hero,ItRu_SummonZombie)); * *Npc_RemoveInvItems(hero,ItRu_SummonGuardian * *,Npc_HasItems(hero,ItRu_SummonGuardian)); }; *
var int BeliarWeapCurrentLvL; * * * // текущий уровень оружия Белиара var int BeliarWeapNextLvL; * * * * *// следующий уровень оружия Белиара var int BeliarNextDamageChance; * * // следующая вероятность повреждения * * * * * * * // Можно ли улучшить оружие Белиара? // ---------------------------------------------------------------- // Возвращаемое значение: TRUE - да, FALSE - нет func int C_ScCanUpgrateBeliarsWeapon() { * *var int herolvl; * *// получить уровень ГГ * *herolvl = hero.level; * *// если ГГ маг Огня * *if(hero.guild == GIL_KDF) * *{ * * * *// в зависимости от круга магии ГГ устанавливается следующий уровень оружия Белиара * * * *if * * *(Npc_GetTalentSkill(hero,NPC_TALENT_MAGE) >= 5) { BeliarWeapNextLvL = 5; } * * * *else if (Npc_GetTalentSkill(hero,NPC_TALENT_MAGE) == 4) { BeliarWeapNextLvL = 4; } * * * *else if (Npc_GetTalentSkill(hero,NPC_TALENT_MAGE) == 3) { BeliarWeapNextLvL = 3; } * * * *else if (Npc_GetTalentSkill(hero,NPC_TALENT_MAGE) == 2) { BeliarWeapNextLvL = 2; } * * * *else if (Npc_GetTalentSkill(hero,NPC_TALENT_MAGE) <= 1) { BeliarWeapNextLvL = 1; }; * * * *return TRUE; * *} * *else * *{ * * * * *// в зависимости от уровня ГГ устанвливается следующий уровень оружия Белиара и соответствующая вероятность повреждения * * * *if * * *(herolvl > 46) *{ BeliarWeapNextLvL = 20; BeliarNextDamageChance = BeliarDamageChance_20; } * * * *else if (herolvl > 44) *{ BeliarWeapNextLvL = 19; BeliarNextDamageChance = BeliarDamageChance_19; } * * * *else if (herolvl > 42) *{ BeliarWeapNextLvL = 18; BeliarNextDamageChance = BeliarDamageChance_18; } * * * *else if (herolvl > 40) *{ BeliarWeapNextLvL = 17; BeliarNextDamageChance = BeliarDamageChance_17; } * * * *else if (herolvl > 38) *{ BeliarWeapNextLvL = 16; BeliarNextDamageChance = BeliarDamageChance_16; } * * * *else if (herolvl > 36) *{ BeliarWeapNextLvL = 15; BeliarNextDamageChance = BeliarDamageChance_15; } * * * *else if (herolvl > 34) *{ BeliarWeapNextLvL = 14; BeliarNextDamageChance = BeliarDamageChance_14; } * * * *else if (herolvl > 32) *{ BeliarWeapNextLvL = 13; BeliarNextDamageChance = BeliarDamageChance_13; } * * * *else if (herolvl > 30) *{ BeliarWeapNextLvL = 12; BeliarNextDamageChance = BeliarDamageChance_12; } * * * *else if (herolvl > 28) *{ BeliarWeapNextLvL = 11; BeliarNextDamageChance = BeliarDamageChance_11; } * * * *else if (herolvl > 26) *{ BeliarWeapNextLvL = 10; BeliarNextDamageChance = BeliarDamageChance_10; } * * * *else if (herolvl > 24) *{ BeliarWeapNextLvL = 9; *BeliarNextDamageChance = BeliarDamageChance_09; } * * * *else if (herolvl > 22) *{ BeliarWeapNextLvL = 8; *BeliarNextDamageChance = BeliarDamageChance_08; } * * * *else if (herolvl > 20) *{ BeliarWeapNextLvL = 7; *BeliarNextDamageChance = BeliarDamageChance_07; } * * * *else if (herolvl > 18) *{ BeliarWeapNextLvL = 6; *BeliarNextDamageChance = BeliarDamageChance_06; } * * * *else if (herolvl > 16) *{ BeliarWeapNextLvL = 5; *BeliarNextDamageChance = BeliarDamageChance_05; } * * * *else if (herolvl > 14) *{ BeliarWeapNextLvL = 4; *BeliarNextDamageChance = BeliarDamageChance_04; } * * * *else if (herolvl > 12) *{ BeliarWeapNextLvL = 3; *BeliarNextDamageChance = BeliarDamageChance_03; } * * * *else if (herolvl > 10) *{ BeliarWeapNextLvL = 2; *BeliarNextDamageChance = BeliarDamageChance_02; } * * * *else if (herolvl <= 10) { BeliarWeapNextLvL = 1; *BeliarNextDamageChance = BeliarDamageChance_01; }; * *}; * *// если текущий уровень оружия < найденного * *if(BeliarWeapCurrentLvL < BeliarWeapNextLvL) * *{ * * * *return TRUE; * *}; * *return FALSE; * * * // Примечание: добавлено мной };
// Функция улучшения оружия Белиара func void B_UpgrateBeliarsWeapon() { * *var int BeliarsTribute; * *var string concatText; * *// расчет кол-ва отбираемой жизни * *BeliarsTribute = ((BeliarWeapNextLvL - BeliarWeapCurrentLvL) * 5); * *// уменьших макс. жизнь ГГ * *hero.attribute[ATR_HITPOINTS_MAX] = (hero.attribute[ATR_HITPOINTS_MAX] - BeliarsTribute); * *// если жизнь уменьшена * *if(BeliarsTribute > 0) * *{ * * * *// создать строку "Жизненная энергия -" кол-во едениц жизни * * * *concatText = ConcatStrings(PRINT_Beliarshitpoints_MAX,IntToStri ng(BeliarsTribute)); * * * *// вывод на экран * * * *PrintScreen(concatText,-1,-1,FONT_Screen,4); * *}; * *// установить текущие шанс доп. повреждения и уровень оружия * *BeliarDamageChance = BeliarNextDamageChance; * *BeliarWeapCurrentLvL = BeliarWeapNextLvL; * *// если ГГ маг Огня * *if(hero.guild == GIL_KDF) * *{ * * * *// очистить диалог улучшения рун * * * *Info_ClearChoices(PC_PrayShrine_UPGRATEBELIARSWEA PON); * * * *// создать диалог улучшения рун (записать пункты выбора в зависимости от текущего уровня оружия) * * * *if(BeliarWeapCurrentLvL >= 1) * * * * *{ * * * * * *Info_AddChoice(PC_PrayShrine_UPGRATEBELIARSWEAPON ,NAME_SPL_GreenTentacle,PС_Pra yShrine_UPGRATEBELIARSWEAPON_GreenTentacle); * * * *}; * * * *if(BeliarWeapCurrentLvL >= 2) * * * *{ * * * * * *Info_AddChoice(PC_PrayShrine_UPGRATEBELIARSWEAPON ,NAME_SPL_SuckEnergy,PC_P rayShrine_UPGRATEBELIARSWEAPON_SuckEnergy); * * * * * * * * * *}; * * * *if(BeliarWeapCurrentLvL >= 3) * * * *{ * * * * * *Info_AddChoice(PC_PrayShrine_UPGRATEBELIARSWEAPON ,NAME_SPL_SummonGuardian, PC_PrayShrine_UPGRATEBELIARSWEAPON_NAME_SPL_Summon Guardian); * * * * * *Info_AddChoice(PC_PrayShrine_UPGRATEBELIARSWEAPON ,NAME_SPL_BeliarsRage,PC_ PrayShrine_UPGRATEBELIARSWEAPON_BeliarsRage); * * * *}; * * * *if(BeliarWeapCurrentLvL >= 4) * * * *{ * * * * * *Info_AddChoice(PC_PrayShrine_UPGRATEBELIARSWEAPON ,NAME_SPL_Swarm,PC_PraySh rine_UPGRATEBELIARSWEAPON_Swarm); * * * * * *Info_AddChoice(PC_PrayShrine_UPGRATEBELIARSWEAPON ,NAME_SPL_summonZombie,PC _PrayShrine_UPGRATEBELIARSWEAPON_summonZombie); * * * *}; * * * *if(BeliarWeapCurrentLvL >= 5) * * * *{ * * * * * *Info_AddChoice(PC_PrayShrine_UPGRATEBELIARSWEAPON ,NAME_SPL_Skull,PC_PraySh rine_UPGRATEBELIARSWEAPON_SPL_Skull); * * * *}; * *} * *else * *{ * * * *// если у ГГ более развит одноручник * * * *if((hero.HitChance[NPC_TALENT_1H]) > (hero.HitChance[NPC_TALENT_2H])) * * * *{ * * * * * *// создать в инвентаре ГГ одноручник в зависимости от текущего уровня оружия * * * * * *if * * (BeliarWeapCurrentLvL <= 1) *{ CreateInvItem(hero,ItMw_BeliarWeapon_1H_01); } * * * * * *else if(BeliarWeapCurrentLvL == 2) *{ CreateInvItem(hero,ItMw_BeliarWeapon_1H_02); } * * * * * *else if(BeliarWeapCurrentLvL == 3) *{ CreateInvItem(hero,ItMw_BeliarWeapon_1H_03); } * * * * * *else if(BeliarWeapCurrentLvL == 4) *{ CreateInvItem(hero,ItMw_BeliarWeapon_1H_04); } * * * * * *else if(BeliarWeapCurrentLvL == 5) *{ CreateInvItem(hero,ItMw_BeliarWeapon_1H_05); } * * * * * *else if(BeliarWeapCurrentLvL == 6) *{ CreateInvItem(hero,ItMw_BeliarWeapon_1H_06); } * * * * * *else if(BeliarWeapCurrentLvL == 7) *{ CreateInvItem(hero,ItMw_BeliarWeapon_1H_07); } * * * * * *else if(BeliarWeapCurrentLvL == 8) *{ CreateInvItem(hero,ItMw_BeliarWeapon_1H_08); } * * * * * *else if(BeliarWeapCurrentLvL == 9) *{ CreateInvItem(hero,ItMw_BeliarWeapon_1H_09); } * * * * * *else if(BeliarWeapCurrentLvL == 10) { CreateInvItem(hero,ItMw_BeliarWeapon_1H_10); } * * * * * *else if(BeliarWeapCurrentLvL == 11) { CreateInvItem(hero,ItMw_BeliarWeapon_1H_11); } * * * * * *else if(BeliarWeapCurrentLvL == 12) { CreateInvItem(hero,ItMw_BeliarWeapon_1H_12); } * * * * * *else if(BeliarWeapCurrentLvL == 13) { CreateInvItem(hero,ItMw_BeliarWeapon_1H_13); } * * * * * *else if(BeliarWeapCurrentLvL == 14) { CreateInvItem(hero,ItMw_BeliarWeapon_1H_14); } * * * * * *else if(BeliarWeapCurrentLvL == 15) { CreateInvItem(hero,ItMw_BeliarWeapon_1H_15); } * * * * * *else if(BeliarWeapCurrentLvL == 16) { CreateInvItem(hero,ItMw_BeliarWeapon_1H_16); } * * * * * *else if(BeliarWeapCurrentLvL == 17) { CreateInvItem(hero,ItMw_BeliarWeapon_1H_17); } * * * * * *else if(BeliarWeapCurrentLvL == 18) { CreateInvItem(hero,ItMw_BeliarWeapon_1H_18); } * * * * * *else if(BeliarWeapCurrentLvL == 19) { CreateInvItem(hero,ItMw_BeliarWeapon_1H_19); } * * * * * *else if(BeliarWeapCurrentLvL == 20) { CreateInvItem(hero,ItMw_BeliarWeapon_1H_20); }; * * * * * *// визуальный эффект улучшения меча (Примечание: правильнее здесь и далее все self заменить на hero) * * * * * *Wld_PlayEffect("spellFX_BeliarsWeapon_Upgrate",se lf,self,0,0,0,F ALSE); * * * * * *// музычка * * * * * *Snd_Play("CS_Prayer_WaveOfInsanity"); * * * * * *// оружие улучшено * * * * * *BeliarsWeaponUpgrated = TRUE; * * * *} * * * *else // иначе двуручник * * * *{ * * * * * *// создать в инвентаре ГГ двуручник в зависимости от текущего уровня оружия * * * * * *if * * (BeliarWeapCurrentLvL <= 1) *{ CreateInvItem(hero,ItMw_BeliarWeapon_2H_01); } * * * * * *else if(BeliarWeapCurrentLvL == 2) *{ CreateInvItem(hero,ItMw_BeliarWeapon_2H_02); } * * * * * *else if(BeliarWeapCurrentLvL == 3) *{ CreateInvItem(hero,ItMw_BeliarWeapon_2H_03); } * * * * * *else if(BeliarWeapCurrentLvL == 4) *{ CreateInvItem(hero,ItMw_BeliarWeapon_2H_04); } * * * * * *else if(BeliarWeapCurrentLvL == 5) *{ CreateInvItem(hero,ItMw_BeliarWeapon_2H_05); } * * * * * *else if(BeliarWeapCurrentLvL == 6) *{ CreateInvItem(hero,ItMw_BeliarWeapon_2H_06); } * * * * * *else if(BeliarWeapCurrentLvL == 7) *{ CreateInvItem(hero,ItMw_BeliarWeapon_2H_07); } * * * * * *else if(BeliarWeapCurrentLvL == 8) *{ CreateInvItem(hero,ItMw_BeliarWeapon_2H_08); } * * * * * *else if(BeliarWeapCurrentLvL == 9) *{ CreateInvItem(hero,ItMw_BeliarWeapon_2H_09); } * * * * * *else if(BeliarWeapCurrentLvL == 10) { CreateInvItem(hero,ItMw_BeliarWeapon_2H_10); } * * * * * *else if(BeliarWeapCurrentLvL == 11) { CreateInvItem(hero,ItMw_BeliarWeapon_2H_11); } * * * * * *else if(BeliarWeapCurrentLvL == 12) { CreateInvItem(hero,ItMw_BeliarWeapon_2H_12); } * * * * * *else if(BeliarWeapCurrentLvL == 13) { CreateInvItem(hero,ItMw_BeliarWeapon_2H_13); } * * * * * *else if(BeliarWeapCurrentLvL == 14) { CreateInvItem(hero,ItMw_BeliarWeapon_2H_14); } * * * * * *else if(BeliarWeapCurrentLvL == 15) { CreateInvItem(hero,ItMw_BeliarWeapon_2H_15); } * * * * * *else if(BeliarWeapCurrentLvL == 16) { CreateInvItem(hero,ItMw_BeliarWeapon_2H_16); } * * * * * *else if(BeliarWeapCurrentLvL == 17) { CreateInvItem(hero,ItMw_BeliarWeapon_2H_17); } * * * * * *else if(BeliarWeapCurrentLvL == 18) { CreateInvItem(hero,ItMw_BeliarWeapon_2H_18); } * * * * * *else if(BeliarWeapCurrentLvL == 19) { CreateInvItem(hero,ItMw_BeliarWeapon_2H_19); } * * * * * *else if(BeliarWeapCurrentLvL == 20) { CreateInvItem(hero,ItMw_BeliarWeapon_2H_20); }; * * * * * *// визуальный эффект улучшения меча * * * * * *Wld_PlayEffect("spellFX_BeliarsWeapon_Upgrate",se lf,self,0,0,0,F ALSE); * * * * * * * * *// музычка * * * * * *Snd_Play("CS_Prayer_WaveOfInsanity"); * * * * * *// оружие улучшено * * * * * *BeliarsWeaponUpgrated = TRUE; * * * *}; * *}; };
...продолжение следует
|