Показать сообщение отдельно
Старый 31.05.2005, 16:05   #186
Vam

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Уроки скриптологии

9. Предметы мира Готики.

Директория расположения скриптов предметов - ..\Items

* *1. Амулеты и кольца аддона.

Файл IT_Addon_Amulette.d

//*************************
// Амулеты и кольца аддона
//*************************

// Амулет Франко
const int Value_ItAm_Addon_Franco * * * = 1200; // стоимость
const int HP_ItAm_Addon_Franco * * * * *= 40; * // бонус к жизни
const int STR_Franco * * * * * * * * * *= 4; * *// бонус к силе
const int DEX_Franco * * * * * * * * * *= 4; * *// бонус к ловкости
// набор Целителей
const int Value_ItRi_Addon_Health_01 * *= 400; *// стоимость кольца
const int Value_ItAm_Addon_Health * * * = 800; *// стоимость амулета
// набор Жрецов
const int Value_ItRi_Addon_Mana_01 * * *= 1000; // стоимость кольца
const int Value_ItAm_Addon_Mana * * * * = 2000; // стоимость амулета
// набор Воинов
const int Value_ItRi_Addon_STR_01 * * * = 500; *// стоимость кольца
const int Value_ItAm_Addon_STR * * * * *= 1000; // стоимость амулета

// набор Целителей
const int HP_Ring_Solo_Bonus * * * * * *= 20; * // бонус к жизни одного кольца
const int HP_Ring_Double_Bonus * * * * *= 60; * // бонус к жизни двух колец
const int HP_Amulett_Solo_Bonus * * * * = 40; * // бонус к жизни амулета
const int HP_Amulett_EinRing_Bonus * * *= 80; * // бонус к жизни кольцо + амулет
const int HP_Amulett_Artefakt_Bonus * * = 160; *// полный бонус к жизни два кольца + амулет

// набор Жрецов
const int MA_Ring_Solo_Bonus * * * * * *= 5; * *// бонус к мане одного кольца
const int MA_Ring_Double_Bonus * * * * *= 15; * // бонус к мане двух колец
const int MA_Amulett_Solo_Bonus * * * * = 10; * // бонус к мане амулета
const int MA_Amulett_EinRing_Bonus * * *= 20; * // бонус к мане кольцо + амулет
const int MA_Amulett_Artefakt_Bonus * * = 40; * // полный бонус к мане два кольца + амулет

// набор Воинов
const int STR_Ring_Solo_Bonus * * * * * = 5; * *// бонус к защите от оружия одного кольца
const int STR_Ring_Double_Bonus * * * * = 15; * // бонус к защите от оружия двух колец
const int STR_Amulett_Solo_Bonus * * * *= 10; * // бонус к защите от оружия амулета
const int STR_Amulett_EinRing_Bonus * * = 20; * // бонус к защите от оружия кольцо + амулет
const int STR_Amulett_Artefakt_Bonus * *= 40; * // полный бонус к защите от оружия два кольца + амулет

//--------------------------------------
// Амулет Франко
//--------------------------------------
INSTANCE ItAm_Addon_Franco(C_Item) *
{
* *name * * * * * *= NAME_Amulett; * * * * * * * * * * // "Амулет"
* *mainflag * * * *= ITEM_KAT_MAGIC; * * * * * * * * * // Кольца/Амулеты/Пояса
* *flags * * * * * = ITEM_AMULET; * * * * * * * * * * *// Амулет
* *value * * * * * = Value_ItAm_Addon_Franco; * * * * *// 1200
* *visual * * * * *= "ItAm_Hp_01.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// Металл
* *on_equip * * * *= Equip_ItAm_Addon_Franco; * * * * *// одеть
* *on_unequip * * *= UnEquip_ItAm_Addon_Franco; * * * *// снять
* *wear * * * * * *= WEAR_EFFECT; * * * * * * * * * * *// эффект при ношении
* *effect * * * * *= "SPELLFX_ITEMGLIMMER";
* *description * * = "Амулет Франко";
* *TEXT[2] * * * * = NAME_Bonus_Str; * * * * * * * * * // "Прибавка к силе:"
* *COUNT[2] * * * *= STR_FRANCO; * * * * * * * * * * * // 4
* *TEXT[3] * * * * = NAME_Bonus_Dex; * * * * * * * * * // "Прибавка к ловкости:"
* *COUNT[3] * * * *= DEX_FRANCO; * * * * * * * * * * * // 4
* *TEXT[4] * * * * = NAME_Bonus_HP; * * * * * * * * * *// "Прибавка к жизни:"
* *COUNT[4] * * * *= HP_ItAm_Addon_Franco; * * * * * * // 40
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 1200
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
};

// Одеть
func void Equip_ItAm_Addon_Franco()
{
* *self.attribute[ATR_STRENGTH] * * * *+= STR_FRANCO; * * * * * * *// сила += 4
* *self.attribute[ATR_DEXTERITY] * * * += DEX_FRANCO; * * * * * * *// ловкость += 4
* *self.attribute[ATR_HITPOINTS_MAX] * += HP_ItAm_Addon_Franco; * *// макс. жизнь += 40
* *self.attribute[ATR_HITPOINTS] * * * += HP_ItAm_Addon_Franco; * *// тек. жизнь += 40
};

// Снять
func void UnEquip_ItAm_Addon_Franco()
{
* *self.attribute[ATR_STRENGTH] * * * *-= STR_FRANCO; * * * * * * *// сила -= 4
* *self.attribute[ATR_DEXTERITY] * * * -= DEX_FRANCO; * * * * * * *// ловкость -= 4
* *self.attribute[ATR_HITPOINTS_MAX] * -= HP_ItAm_Addon_Franco; * *// макс. жизнь -= 40
* *// если жизнь > 42
* *if(self.attribute[ATR_HITPOINTS] > (HP_ItAm_Addon_Franco + 2))
* *{
* * * *self.attribute[ATR_HITPOINTS] -= HP_ItAm_Addon_Franco; * * *// жизнь -= 40
* *}
* *else // чтобы не умереть при снятии
* *{
* * * *self.attribute[ATR_HITPOINTS] = 2; * * * * * * * * * * * * *// жизнь = 2
* *};
};
* *
//--------------------------------------
// Амулет Целителей
//--------------------------------------
INSTANCE ItAm_Addon_Health(C_Item)
{
* *name * * * * * *= NAME_Amulett; * * * * * * * * * * // "Амулет"
* *mainflag * * * *= ITEM_KAT_MAGIC; * * * * * * * * * // Кольца/Амулеты/Пояса
* *flags * * * * * = ITEM_AMULET; * * * * * * * * * * *// Амулет
* *value * * * * * = Value_ItAm_Addon_Health; * * * * *// 800
* *visual * * * * *= "ItAm_Hp_01.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// Металл
* *on_equip * * * *= Equip_ItAm_Addon_Health; * * * * *// одеть
* *on_unequip * * *= UnEquip_ItAm_Addon_Health; * * * *// снять
* *wear * * * * * *= WEAR_EFFECT; * * * * * * * * * * *// эффект при ношении
* *effect * * * * *= "SPELLFX_ITEMGLIMMER";
* *description * * = "Амулет Целителей";
* *TEXT[2] * * * * = NAME_Bonus_HP; * * * * * * * * * *// "Прибавка к жизни:"
* *COUNT[2] * * * *= HP_Amulett_Solo_Bonus; * * * * * *// 40
* *TEXT[3] * * * * = PRINT_Addon_KUMU_01; * * * * * * *// "Мы три брата из одного ящика."
* *TEXT[4] * * * * = PRINT_Addon_KUMU_02; * * * * * * *// "Вместе мы сильнее."
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 800
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
};

// Одеть
func void Equip_ItAm_Addon_Health()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_HP_ArtefaktValue();
* *// амулет Целителей одет
* *HP_Amulett_Equipped = TRUE;
* *// бонус одетых предметов из набора
* *NewValue = C_HP_ArtefaktValue();
* *// увеличение макс. жизни
* *self.attribute[ATR_HITPOINTS_MAX] = self.attribute[ATR_HITPOINTS_MAX] + (NewValue - OldValue);
};

// Снять
func void UnEquip_ItAm_Addon_Health()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_HP_ArtefaktValue();
* *// амулет Целителей снят
* *HP_Amulett_Equipped = FALSE;
* *// бонус одетых предметов из набора
* *NewValue = C_HP_ArtefaktValue();
* *// уменьшение макс. жизни
* *self.attribute[ATR_HITPOINTS_MAX] = self.attribute[ATR_HITPOINTS_MAX] + (NewValue - OldValue);
};

//--------------------------------------
// Кольцо Целителей (первое)
//--------------------------------------
INSTANCE ItRi_Addon_Health_01(C_Item)
{
* *name * * * * * *= NAME_Ring; * * * * * * * * * * * *// "Кольцо"
* *mainflag * * * *= ITEM_KAT_MAGIC; * * * * * * * * * // Кольца/Амулеты/Пояса
* *flags * * * * * = ITEM_RING; * * * * * * * * * * * *// кольцо
* *value * * * * * = Value_ItRi_Addon_Health_01; * * * // 400
* *visual * * * * *= "ItRi_Prot_Total_01.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// Металл
* *on_equip * * * *= Equip_ItRi_Addon_Health_01; * * * // одеть
* *on_unequip * * *= UnEquip_ItRi_Addon_Health_01; * * // снять
* *wear * * * * * *= WEAR_EFFECT; * * * * * * * * * * *// эффект при ношении
* *effect * * * * *= "SPELLFX_ITEMGLIMMER";
* *description * * = "Кольцо Целителей";
* *TEXT[2] * * * * = NAME_Bonus_HP; * * * * * * * * * *// "Прибавка к жизни:"
* *COUNT[2] * * * *= HP_Ring_Solo_Bonus; * * * * * * * // 20
* *TEXT[3] * * * * = PRINT_Addon_KUMU_01; * * * * * * *// "Мы три брата из одного ящика."
* *TEXT[4] * * * * = PRINT_Addon_KUMU_02; * * * * * * *// "Вместе мы сильнее."
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 400
* *INV_ZBIAS * * * = INVCAM_ENTF_RING_STANDARD;
* *INV_ROTZ * * * *= INVCAM_Z_RING_STANDARD;
* *INV_ROTX * * * *= INVCAM_X_RING_STANDARD;
};

// Одеть
func void Equip_ItRi_Addon_Health_01()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_HP_ArtefaktValue();
* *// первое кольцо Целителей одето
* *HP_Ring_1_Equipped = TRUE;
* *// бонус одетых предметов из набора
* *NewValue = C_HP_ArtefaktValue();
* *// увеличение макс. жизни
* *self.attribute[ATR_HITPOINTS_MAX] = self.attribute[ATR_HITPOINTS_MAX] + (NewValue - OldValue);
};

// Снять
func void UnEquip_ItRi_Addon_Health_01()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_HP_ArtefaktValue();
* *// первое кольцо Целителей снято
* *HP_Ring_1_Equipped = FALSE;
* *// бонус одетых предметов из набора
* *NewValue = C_HP_ArtefaktValue();
* *// уменьшение макс. жизни
* *self.attribute[ATR_HITPOINTS_MAX] = self.attribute[ATR_HITPOINTS_MAX] + (NewValue - OldValue);
};

//--------------------------------------
// Кольцо Целителей (второе)
//--------------------------------------
INSTANCE ItRi_Addon_Health_02(C_Item)
{
* *name * * * * * *= NAME_Ring; * * * * * * * * * * * *// "Кольцо"
* *mainflag * * * *= ITEM_KAT_MAGIC; * * * * * * * * * // Кольца/Амулеты/Пояса
* *flags * * * * * = ITEM_RING; * * * * * * * * * * * *// кольцо
* *value * * * * * = Value_ItRi_Addon_Health_01; * * * // 400
* *visual * * * * *= "ItRi_Prot_Total_01.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// Металл
* *on_equip * * * *= Equip_ItRi_Addon_Health_02; * * * // одеть
* *on_unequip * * *= UnEquip_ItRi_Addon_Health_02; * * // снять
* *wear * * * * * *= WEAR_EFFECT; * * * * * * * * * * *// эффект при ношении
* *effect * * * * *= "SPELLFX_ITEMGLIMMER";
* *description * * = "Кольцо Целителей";
* *TEXT[2] * * * * = NAME_Bonus_HP; * * * * * * * * * *// "Прибавка к жизни:"
* *COUNT[2] * * * *= HP_Ring_Solo_Bonus; * * * * * * * // 20
* *TEXT[3] * * * * = PRINT_Addon_KUMU_01; * * * * * * *// "Мы три брата из одного ящика."
* *TEXT[4] * * * * = PRINT_Addon_KUMU_02; * * * * * * *// "Вместе мы сильнее."
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 400
* *INV_ZBIAS * * * = INVCAM_ENTF_RING_STANDARD;
* *INV_ROTZ * * * *= INVCAM_Z_RING_STANDARD;
* *INV_ROTX * * * *= INVCAM_X_RING_STANDARD;
};

// Одеть
func void Equip_ItRi_Addon_Health_02()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_HP_ArtefaktValue();
* *// второе кольцо Целителей одето
* *HP_Ring_2_Equipped = TRUE;
* *// бонус одетых предметов из набора
* *NewValue = C_HP_ArtefaktValue();
* *// увеличение макс. жизни
* *self.attribute[ATR_HITPOINTS_MAX] = self.attribute[ATR_HITPOINTS_MAX] + (NewValue - OldValue);
};

// Снять
func void UnEquip_ItRi_Addon_Health_02()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_HP_ArtefaktValue();
* *// второе кольцо Целителей снято
* *HP_Ring_2_Equipped = FALSE;
* *// бонус одетых предметов из набора
* *NewValue = C_HP_ArtefaktValue();
* *// уменьшение макс. жизни
* *self.attribute[ATR_HITPOINTS_MAX] = self.attribute[ATR_HITPOINTS_MAX] + (NewValue - OldValue);
};

//--------------------------------------
// Амулет Жрецов
//--------------------------------------
INSTANCE ItAm_Addon_MANA(C_Item)
{
* *name * * * * * *= NAME_Amulett; * * * * * * * * * * // "Амулет"
* *mainflag * * * *= ITEM_KAT_MAGIC; * * * * * * * * * // Кольца/Амулеты/Пояса
* *flags * * * * * = ITEM_AMULET; * * * * * * * * * * *// Амулет
* *value * * * * * = Value_ItAm_Addon_MANA; * * * * * *// 2000
* *visual * * * * *= "ItAm_Hp_01.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// Металл
* *on_equip * * * *= Equip_ItAm_Addon_MANA; * * * * * *// одеть
* *on_unequip * * *= UnEquip_ItAm_Addon_MANA; * * * * *// снять
* *wear * * * * * *= WEAR_EFFECT; * * * * * * * * * * *// эффект при ношении
* *effect * * * * *= "SPELLFX_ITEMGLIMMER";
* *description * * = "Амулет Жрецов";
* *TEXT[2] * * * * = NAME_Bonus_Mana; * * * * * * * * *// "Прибавка к мане:"
* *COUNT[2] * * * *= MA_Amulett_Solo_Bonus; * * * * * *// 10
* *TEXT[3] * * * * = PRINT_Addon_KUMU_01; * * * * * * *// "Мы три брата из одного ящика."
* *TEXT[4] * * * * = PRINT_Addon_KUMU_02; * * * * * * *// "Вместе мы сильнее."
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 2000
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
};

// Одеть
func void Equip_ItAm_Addon_MANA()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_MA_ArtefaktValue();
* *// амулет Жрецов одет
* *MA_Amulett_Equipped = TRUE;
* *// бонус одетых предметов из набора
* *NewValue = C_MA_ArtefaktValue();
* *// увеличение макс. маны
* *self.attribute[ATR_MANA_MAX] = self.attribute[ATR_MANA_MAX] + (NewValue - OldValue);
};

// Снять
func void UnEquip_ItAm_Addon_MANA()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_MA_ArtefaktValue();
* *// амулет Жрецов снят
* *MA_Amulett_Equipped = FALSE;
* *// бонус одетых предметов из набора
* *NewValue = C_MA_ArtefaktValue();
* *// уменьшение макс. маны
* *self.attribute[ATR_MANA_MAX] = self.attribute[ATR_MANA_MAX] + (NewValue - OldValue);
};

//--------------------------------------
// Кольцо Жрецов (первое)
//--------------------------------------
INSTANCE ItRi_Addon_MANA_01(C_Item)
{
* *name * * * * * *= NAME_Ring; * * * * * * * * * * * *// "Кольцо"
* *mainflag * * * *= ITEM_KAT_MAGIC; * * * * * * * * * // Кольца/Амулеты/Пояса
* *flags * * * * * = ITEM_RING; * * * * * * * * * * * *// кольцо
* *value * * * * * = Value_ItRi_Addon_MANA_01; * * * * // 1000
* *visual * * * * *= "ItRi_Prot_Total_01.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// Металл
* *on_equip * * * *= Equip_ItRi_Addon_MANA_01; * * * * // одеть
* *on_unequip * * *= UnEquip_ItRi_Addon_MANA_01; * * * // снять
* *wear * * * * * *= WEAR_EFFECT; * * * * * * * * * * *// эффект при ношении
* *effect * * * * *= "SPELLFX_ITEMGLIMMER";
* *description * * = "Кольцо Жрецов";
* *TEXT[2] * * * * = NAME_Bonus_Mana; * * * * * * * * *// "Прибавка к мане:"
* *COUNT[2] * * * *= MA_Ring_Solo_Bonus; * * * * * * * // 5
* *TEXT[3] * * * * = PRINT_Addon_KUMU_01; * * * * * * *// "Мы три брата из одного ящика."
* *TEXT[4] * * * * = PRINT_Addon_KUMU_02; * * * * * * *// "Вместе мы сильнее."
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 1000
* *INV_ZBIAS * * * = INVCAM_ENTF_RING_STANDARD;
* *INV_ROTZ * * * *= INVCAM_Z_RING_STANDARD;
* *INV_ROTX * * * *= INVCAM_X_RING_STANDARD;
};

// Одеть
func void Equip_ItRi_Addon_MANA_01()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_MA_ArtefaktValue();
* *// первое кольцо Жрецов одето
* *MA_Ring_1_Equipped = TRUE;
* *// бонус одетых предметов из набора
* *NewValue = C_MA_ArtefaktValue();
* *// увеличение макс. маны
* *self.attribute[ATR_MANA_MAX] = self.attribute[ATR_MANA_MAX] + (NewValue - OldValue);
};

// Снять
func void UnEquip_ItRi_Addon_MANA_01()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_MA_ArtefaktValue();
* *// первое кольцо Жрецов снято
* *MA_Ring_1_Equipped = FALSE;
* *// бонус одетых предметов из набора
* *NewValue = C_MA_ArtefaktValue();
* *// уменьшение макс. маны
* *self.attribute[ATR_MANA_MAX] = self.attribute[ATR_MANA_MAX] + (NewValue - OldValue);
};

//--------------------------------------
// Кольцо Жрецов (второе)
//--------------------------------------
INSTANCE ItRi_Addon_MANA_02(C_Item)
{
* *name * * * * * *= NAME_Ring; * * * * * * * * * * * *// "Кольцо"
* *mainflag * * * *= ITEM_KAT_MAGIC; * * * * * * * * * // Кольца/Амулеты/Пояса
* *flags * * * * * = ITEM_RING; * * * * * * * * * * * *// кольцо
* *value * * * * * = Value_ItRi_Addon_Mana_01; * * * * // 1000
* *visual * * * * *= "ItRi_Prot_Total_01.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// Металл
* *on_equip * * * *= Equip_ItRi_Addon_MANA_02; * * * * // одеть
* *on_unequip * * *= UnEquip_ItRi_Addon_MANA_02; * * * // снять
* *wear * * * * * *= WEAR_EFFECT; * * * * * * * * * * *// эффект при ношении
* *effect * * * * *= "SPELLFX_ITEMGLIMMER";
* *description * * = "Кольцо Жрецов";
* *TEXT[2] * * * * = NAME_Bonus_Mana; * * * * * * * * *// "Прибавка к мане:"
* *COUNT[2] * * * *= MA_Ring_Solo_Bonus; * * * * * * * // 5
* *TEXT[3] * * * * = PRINT_Addon_KUMU_01; * * * * * * *// "Мы три брата из одного ящика."
* *TEXT[4] * * * * = PRINT_Addon_KUMU_02; * * * * * * *// "Вместе мы сильнее."
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 1000
* *INV_ZBIAS * * * = INVCAM_ENTF_RING_STANDARD;
* *INV_ROTZ * * * *= INVCAM_Z_RING_STANDARD;
* *INV_ROTX * * * *= INVCAM_X_RING_STANDARD;
};

// Одеть
func void Equip_ItRi_Addon_Mana_02()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_MA_ArtefaktValue();
* *// второе кольцо Жрецов одето
* *MA_Ring_2_Equipped = TRUE;
* *// бонус одетых предметов из набора
* *NewValue = C_MA_ArtefaktValue();
* *// увеличение макс. маны
* *self.attribute[ATR_MANA_MAX] = self.attribute[ATR_MANA_MAX] + (NewValue - OldValue);
};

// Снять
func void UnEquip_ItRi_Addon_Mana_02()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_MA_ArtefaktValue();
* *// второе кольцо Жрецов снято
* *MA_Ring_2_Equipped = FALSE;
* *// бонус одетых предметов из набора
* *NewValue = C_MA_ArtefaktValue();
* *// уменьшение макс. маны
* *self.attribute[ATR_MANA_MAX] = self.attribute[ATR_MANA_MAX] + (NewValue - OldValue);
};

//--------------------------------------
// Амулет Воинов
//--------------------------------------
INSTANCE ItAm_Addon_STR(C_Item)
{
* *name * * * * * *= NAME_Amulett; * * * * * * * * * * // "Амулет"
* *mainflag * * * *= ITEM_KAT_MAGIC; * * * * * * * * * // Кольца/Амулеты/Пояса
* *flags * * * * * = ITEM_AMULET; * * * * * * * * * * *// Амулет
* *value * * * * * = Value_ItAm_Addon_STR; * * * * * * // 1000
* *visual * * * * *= "ItAm_Hp_01.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// Металл
* *on_equip * * * *= Equip_ItAm_Addon_STR; * * * * * * // одеть
* *on_unequip * * *= UnEquip_ItAm_Addon_STR; * * * * * // снять
* *wear * * * * * *= WEAR_EFFECT; * * * * * * * * * * *// эффект при ношении
* *effect * * * * *= "SPELLFX_ITEMGLIMMER";
* *description * * = "Амулет Воинов";
* *TEXT[2] * * * * = NAME_Prot_Edge; * * * * * * * * * // "Защита от оружия:"
* *COUNT[2] * * * *= STR_Amulett_Solo_Bonus; * * * * * // 10
* *TEXT[3] * * * * = PRINT_Addon_KUMU_01; * * * * * * *// "Мы три брата из одного ящика."
* *TEXT[4] * * * * = PRINT_Addon_KUMU_02; * * * * * * *// "Вместе мы сильнее."
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 1000
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
};

// Одеть
func void Equip_ItAm_Addon_STR()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_STR_ArtefaktValue();
* *// амулет Воинов одет
* *STR_Amulett_Equipped = TRUE;
* *// бонус одетых предметов из набора
* *NewValue = C_STR_ArtefaktValue();
* *// увеличение защиты от острого оружия
* *self.protection[PROT_EDGE] *+= (NewValue - OldValue);
* *// увеличение защиты от тупого оружия
* *self.protection[PROT_BLUNT] += (NewValue - OldValue);
};

// Снять
func void UnEquip_ItAm_Addon_STR()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_STR_ArtefaktValue();
* *// амулет Воинов снят
* *STR_Amulett_Equipped = FALSE;
* *// бонус одетых предметов из набора
* *NewValue = C_STR_ArtefaktValue();
* *// уменьшение защиты от острого оружия
* *self.protection[PROT_EDGE] *+= (NewValue - OldValue);
* *// уменьшение защиты от тупого оружия
* *self.protection[PROT_BLUNT] += (NewValue - OldValue);
};

//--------------------------------------
// Кольцо Воинов (первое)
//--------------------------------------
INSTANCE ItRi_Addon_STR_01(C_Item) *//Geschenk von Greg
{
* *name * * * * * *= NAME_Ring; * * * * * * * * * * * *// "Кольцо"
* *mainflag * * * *= ITEM_KAT_MAGIC; * * * * * * * * * // Кольца/Амулеты/Пояса
* *flags * * * * * = ITEM_RING; * * * * * * * * * * * *// кольцо
* *value * * * * * = Value_ItRi_Addon_STR_01; * * * * *// 500
* *visual * * * * *= "ItRi_Prot_Total_02.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// Металл
* *on_equip * * * *= Equip_ItRi_Addon_STR_01; * * * * *// одеть
* *on_unequip * * *= UnEquip_ItRi_Addon_STR_01; * * * *// снять
* *wear * * * * * *= WEAR_EFFECT; * * * * * * * * * * *// эффект при ношении
* *effect * * * * *= "SPELLFX_ITEMGLIMMER";
* *description * * = "Кольцо Воинов";
* *TEXT[2] * * * * = NAME_Prot_Edge; * * * * * * * * * // "Защита от оружия:"
* *COUNT[2] * * * *= STR_Ring_Solo_Bonus; * * * * * * *// 5
* *TEXT[3] * * * * = PRINT_Addon_KUMU_01; * * * * * * *// "Мы три брата из одного ящика."
* *TEXT[4] * * * * = PRINT_Addon_KUMU_02; * * * * * * *// "Вместе мы сильнее."
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 500
* *INV_ZBIAS * * * = INVCAM_ENTF_RING_STANDARD;
* *INV_ROTZ * * * *= INVCAM_Z_RING_STANDARD;
* *INV_ROTX * * * *= INVCAM_X_RING_STANDARD;
};

// Одеть
func void Equip_ItRi_Addon_STR_01()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_STR_ArtefaktValue();
* *// первое кольцо Воинов одето
* *STR_Ring_1_Equipped = TRUE;
* *// бонус одетых предметов из набора
* *NewValue = C_STR_ArtefaktValue();
* *// увеличение защиты от острого оружия
* *self.protection[PROT_EDGE] *+= (NewValue - OldValue);
* *// увеличение защиты от тупого оружия
* *self.protection[PROT_BLUNT] += (NewValue - OldValue);
};

// Снять
func void UnEquip_ItRi_Addon_STR_01()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_STR_ArtefaktValue();
* *// первое кольцо Воинов снято
* *STR_Ring_1_Equipped = FALSE;
* *// бонус одетых предметов из набора
* *NewValue = C_STR_ArtefaktValue();
* *// уменьшение защиты от острого оружия
* *self.protection[PROT_EDGE] *+= (NewValue - OldValue);
* *// уменьшение защиты от тупого оружия
* *self.protection[PROT_BLUNT] += (NewValue - OldValue);
};

...продолжение следует
Ответить с цитированием