Exemple #1
0
QStringList ThemeStruct::invalidItems(){
  //Scan all the current Items and make a list of all the invalid ones
   // This makes it easy to auto-populate these invalid items with defaults
  QStringList inv;
  for(int i=0; i<itemNames.length(); i++){
    if( !validItem(itemNames[i]) ){ inv << itemNames[i]; }
  }
  return inv;
}
Exemple #2
0
static int validData(rpmTagVal tag, rpmTagType type, rpmTagReturnType retype, PyObject *value)
{
    rpmTagClass tclass = rpmTagGetClass(tag);
    int valid = 1;
    
    if (retype == RPM_SCALAR_RETURN_TYPE) {
	valid = validItem(tclass, value);
    } else if (retype == RPM_ARRAY_RETURN_TYPE && PyList_Check(value)) {
	/* python lists can contain arbitrary objects, validate each item */
	Py_ssize_t len = PyList_Size(value);
	for (Py_ssize_t i = 0; i < len; i++) {
	    PyObject *item = PyList_GetItem(value, i);
	    if (!validItem(tclass, item)) {
		valid = 0;
		break;
	    }
	}
    } else {
	valid = 0;
    }
    return valid;
}
    void Enchant(Player* player, Creature* creature, uint8 slot, uint32 enchant, uint8 type = 0)
    {
        Item* item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, slot);

        if (!item || (type != 0 && !validItem(type, item)))
        {
            player->CLOSE_GOSSIP_MENU();
            ChatHandler(player).PSendSysMessage("|cfff4b25eМастер наложения чар шепчет:|r |cfffcedbbЗачем вы сняли предмет? Я же не буду рыться в вашей сумке чтобы зачаровать его.|r");
            return;
        }

        SpellItemEnchantmentEntry const* enchantid = sSpellItemEnchantmentStore.LookupEntry(enchant);
        if (!enchantid)
            return;

        player->ApplyEnchantment(item, PERM_ENCHANTMENT_SLOT, false);
        item->SetEnchantment(PERM_ENCHANTMENT_SLOT, enchant, 0, 0);
        player->ApplyEnchantment(item, PERM_ENCHANTMENT_SLOT, true);

        player->CastSpell(player, 76706, true);

        OnGossipHello(player, creature);
    }
    bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action)
    {
        player->PlayerTalkClass->ClearMenus();

        if (sender != GOSSIP_SENDER_MAIN)
            return false;

        switch (action)
        {
            case GOSSIP_ACTION_INFO_DEF+1:
                OnGossipHello(player, creature);
                break;
            case GOSSIP_ACTION_INFO_DEF+2:
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 50, крит 20", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+21);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 50, устойчивость 20", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+16);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 30, 10 маны в 5 сек", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+19);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 30, крит 20", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+20);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 29, устойчивость 20", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+17);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 30, сопр. тайной 25", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+23);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 30, сопр. огню 25", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+24);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 30, сопр. тьме 25", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+25);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 30, сопр. льду 25", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+26);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 30, сопр. природе 25", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+27);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 30, устойчивость 25", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+18);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 37, рейтинг защиты 20", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+22);
                player->SEND_GOSSIP_MENU(55003, creature->GetGUID());
                break;
            case GOSSIP_ACTION_INFO_DEF+16:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3795);
                break;
            case GOSSIP_ACTION_INFO_DEF+17:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3797);
                break;
            case GOSSIP_ACTION_INFO_DEF+18:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3842);
                break;
            case GOSSIP_ACTION_INFO_DEF+19:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3819);
                break;
            case GOSSIP_ACTION_INFO_DEF+20:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3820);
                break;
            case GOSSIP_ACTION_INFO_DEF+21:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3817);
                break;
            case GOSSIP_ACTION_INFO_DEF+22:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3818);
                break;
            case GOSSIP_ACTION_INFO_DEF+23:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3815);
                break;
            case GOSSIP_ACTION_INFO_DEF+24:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3816);
                break;
            case GOSSIP_ACTION_INFO_DEF+25:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3814);
                break;
            case GOSSIP_ACTION_INFO_DEF+26:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3812);
                break;
            case GOSSIP_ACTION_INFO_DEF+27:
                Enchant(player, creature, EQUIPMENT_SLOT_HEAD, 3813);
                break;
            case GOSSIP_ACTION_INFO_DEF+3:
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 120, крит 15", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+31);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 40, устойчивость 15", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+29);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 70, 8 маны в 5 сек", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+32);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 70, крит 15", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+34);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 23, устойчивость 15", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+30);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 30, устойчивость 15", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+28);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "рейтинг уклонения 60, защиты 15", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+33);
                player->SEND_GOSSIP_MENU(55003, creature->GetGUID());
                break;
            case GOSSIP_ACTION_INFO_DEF+28:
                Enchant(player, creature, EQUIPMENT_SLOT_SHOULDERS, 3852);
                break;
            case GOSSIP_ACTION_INFO_DEF+29:
                Enchant(player, creature, EQUIPMENT_SLOT_SHOULDERS, 3793);
                break;
            case GOSSIP_ACTION_INFO_DEF+30:
                Enchant(player, creature, EQUIPMENT_SLOT_SHOULDERS, 3794);
                break;
            case GOSSIP_ACTION_INFO_DEF+31:
                Enchant(player, creature, EQUIPMENT_SLOT_SHOULDERS, 3835);
                break;
            case GOSSIP_ACTION_INFO_DEF+32:
                Enchant(player, creature, EQUIPMENT_SLOT_SHOULDERS, 3836);
                break;
            case GOSSIP_ACTION_INFO_DEF+33:
                Enchant(player, creature, EQUIPMENT_SLOT_SHOULDERS, 3837);
                break;
            case GOSSIP_ACTION_INFO_DEF+34:
                Enchant(player, creature, EQUIPMENT_SLOT_SHOULDERS, 3838);
                break;
            case GOSSIP_ACTION_INFO_DEF+4:
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "ловкость 10, лучше незаметность", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+35);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "ловкость 22", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+40);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "скорость 23", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+38);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "проникание заклинаний 35", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+41);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "снижение угрозы, дух 10", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+36);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "броня 225", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+39);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "рейтинг защиты 16", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+37);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* восстановить 400 маны при касте", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+42);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* сила заклинаний 295 при касте", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+43);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* сила атаки 400 при атаке", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+44);
                player->SEND_GOSSIP_MENU(55004, creature->GetGUID());
                break;
            case GOSSIP_ACTION_INFO_DEF+35:
                Enchant(player, creature, EQUIPMENT_SLOT_BACK, 3256);
                break;
            case GOSSIP_ACTION_INFO_DEF+36:
                Enchant(player, creature, EQUIPMENT_SLOT_BACK, 3296);
                break;
            case GOSSIP_ACTION_INFO_DEF+37:
                Enchant(player, creature, EQUIPMENT_SLOT_BACK, 1951);
                break;
            case GOSSIP_ACTION_INFO_DEF+38:
                Enchant(player, creature, EQUIPMENT_SLOT_BACK, 3831);
                break;
            case GOSSIP_ACTION_INFO_DEF+39:
                Enchant(player, creature, EQUIPMENT_SLOT_BACK, 3294);
                break;
            case GOSSIP_ACTION_INFO_DEF+40:
                Enchant(player, creature, EQUIPMENT_SLOT_BACK, 1099);
                break;
            case GOSSIP_ACTION_INFO_DEF+41:
                Enchant(player, creature, EQUIPMENT_SLOT_BACK, 3243);
                break;
            case GOSSIP_ACTION_INFO_DEF+42:
                Enchant(player, creature, EQUIPMENT_SLOT_BACK, 3728);
                break;
            case GOSSIP_ACTION_INFO_DEF+43:
                Enchant(player, creature, EQUIPMENT_SLOT_BACK, 3722);
                break;
            case GOSSIP_ACTION_INFO_DEF+44:
                Enchant(player, creature, EQUIPMENT_SLOT_BACK, 3730);
                break;
            case GOSSIP_ACTION_INFO_DEF+5:
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "все характеристики 10", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+47);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "здоровье 275", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+48);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "10 маны в 5 сек.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+49);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "устойчивость 20", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+50);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "рейтинг защиты 22", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+51);
                player->SEND_GOSSIP_MENU(55003, creature->GetGUID());
                break;
            case GOSSIP_ACTION_INFO_DEF+47:
                Enchant(player, creature, EQUIPMENT_SLOT_CHEST, 3832);
                break;
            case GOSSIP_ACTION_INFO_DEF+48:
                Enchant(player, creature, EQUIPMENT_SLOT_CHEST, 3297);
                break;
            case GOSSIP_ACTION_INFO_DEF+49:
                Enchant(player, creature, EQUIPMENT_SLOT_CHEST, 2381);
                break;
            case GOSSIP_ACTION_INFO_DEF+50:
                Enchant(player, creature, EQUIPMENT_SLOT_CHEST, 3245);
                break;
            case GOSSIP_ACTION_INFO_DEF+51:
                Enchant(player, creature, EQUIPMENT_SLOT_CHEST, 1953);
                break;
            case GOSSIP_ACTION_INFO_DEF+6:
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 102", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+52);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 76", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+53);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 130", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+54);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "дух 18", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+55);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "рейтинг мастерства 15", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+56);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "все характеристики 6", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+57);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "интелект 16", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+58);
                player->SEND_GOSSIP_MENU(55003, creature->GetGUID());
                break;
            case GOSSIP_ACTION_INFO_DEF+52:
                Enchant(player, creature, EQUIPMENT_SLOT_WRISTS, 3757);
                break;
            case GOSSIP_ACTION_INFO_DEF+53:
                Enchant(player, creature, EQUIPMENT_SLOT_WRISTS, 3758);
                break;
            case GOSSIP_ACTION_INFO_DEF+54:
                Enchant(player, creature, EQUIPMENT_SLOT_WRISTS, 3756);
                break;
            case GOSSIP_ACTION_INFO_DEF+55:
                Enchant(player, creature, EQUIPMENT_SLOT_WRISTS, 1147);
                break;
            case GOSSIP_ACTION_INFO_DEF+56:
                Enchant(player, creature, EQUIPMENT_SLOT_WRISTS, 3231);
                break;
            case GOSSIP_ACTION_INFO_DEF+57:
                Enchant(player, creature, EQUIPMENT_SLOT_WRISTS, 2661);
                break;
            case GOSSIP_ACTION_INFO_DEF+58:
                Enchant(player, creature, EQUIPMENT_SLOT_WRISTS, 1119);
                break;
            case GOSSIP_ACTION_INFO_DEF+7:
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "крит 16", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+59);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "угроза +2%, парирование 10", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+60);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 44", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+61);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 28", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+120);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "ловкость 20", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+62);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "меткость 20", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+63);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "мастерство 15", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+64);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "ракетница", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+121);
                player->SEND_GOSSIP_MENU(55003, creature->GetGUID());
                break;
            case GOSSIP_ACTION_INFO_DEF+59:
                Enchant(player, creature, EQUIPMENT_SLOT_HANDS, 3249);
                break;
            case GOSSIP_ACTION_INFO_DEF+60:
                Enchant(player, creature, EQUIPMENT_SLOT_HANDS, 3253);
                break;
            case GOSSIP_ACTION_INFO_DEF+61:
                Enchant(player, creature, EQUIPMENT_SLOT_HANDS, 1603);
                break;
            case GOSSIP_ACTION_INFO_DEF+62:
                Enchant(player, creature, EQUIPMENT_SLOT_HANDS, 3222);
                break;
            case GOSSIP_ACTION_INFO_DEF+63:
                Enchant(player, creature, EQUIPMENT_SLOT_HANDS, 3234);
                break;
            case GOSSIP_ACTION_INFO_DEF+64:
                Enchant(player, creature, EQUIPMENT_SLOT_HANDS, 3231);
                break;
            case GOSSIP_ACTION_INFO_DEF+120:
                Enchant(player, creature, EQUIPMENT_SLOT_HANDS, 3246);
                break;
            case GOSSIP_ACTION_INFO_DEF+121:
                Enchant(player, creature, EQUIPMENT_SLOT_HANDS, 3603);
                break;
            case GOSSIP_ACTION_INFO_DEF+8:
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "устойчивость 40, выносливость 28", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+65);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 72, ловкость 35", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+66);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 100, крит 36", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+67);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 50, дух 20", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+68);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 50, выносливость 30", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+69);
                player->SEND_GOSSIP_MENU(55003, creature->GetGUID());
                break;
            case GOSSIP_ACTION_INFO_DEF+65:
                Enchant(player, creature, EQUIPMENT_SLOT_LEGS, 3853);
                break;
            case GOSSIP_ACTION_INFO_DEF+66:
                Enchant(player, creature, EQUIPMENT_SLOT_LEGS, 3331);
                break;
            case GOSSIP_ACTION_INFO_DEF+67:
                Enchant(player, creature, EQUIPMENT_SLOT_LEGS, 3332);
                break;
            case GOSSIP_ACTION_INFO_DEF+68:
                Enchant(player, creature, EQUIPMENT_SLOT_LEGS, 3719);
                break;
            case GOSSIP_ACTION_INFO_DEF+69:
                Enchant(player, creature, EQUIPMENT_SLOT_LEGS, 3721);
                break;
            case GOSSIP_ACTION_INFO_DEF+9:
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 32", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+70);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "скорость бега, выносливость 15", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+71);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "ловкость 16", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+72);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "дух 18", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+73);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "7 хп и маны в 5 сек.", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+74);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "крит и меткость 12", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+75);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 22", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+76);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "нитроускорители", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+77);
                player->SEND_GOSSIP_MENU(55003, creature->GetGUID());
                break;
            case GOSSIP_ACTION_INFO_DEF+70:
                Enchant(player, creature, EQUIPMENT_SLOT_FEET, 1597);
                break;
            case GOSSIP_ACTION_INFO_DEF+71:
                Enchant(player, creature, EQUIPMENT_SLOT_FEET, 3232);
                break;
            case GOSSIP_ACTION_INFO_DEF+72:
                Enchant(player, creature, EQUIPMENT_SLOT_FEET, 983);
                break;
            case GOSSIP_ACTION_INFO_DEF+73:
                Enchant(player, creature, EQUIPMENT_SLOT_FEET, 1147);
                break;
            case GOSSIP_ACTION_INFO_DEF+74:
                Enchant(player, creature, EQUIPMENT_SLOT_FEET, 3244);
                break;
            case GOSSIP_ACTION_INFO_DEF+75:
                Enchant(player, creature, EQUIPMENT_SLOT_FEET, 3826);
                break;
            case GOSSIP_ACTION_INFO_DEF+76:
                Enchant(player, creature, EQUIPMENT_SLOT_FEET, 1075);
                break;
            case GOSSIP_ACTION_INFO_DEF+77:
                Enchant(player, creature, EQUIPMENT_SLOT_FEET, 3606);
                break;
            case GOSSIP_ACTION_INFO_DEF+10:
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 40", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+78);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 23", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+79);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 30", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+80);
                player->SEND_GOSSIP_MENU(55003, creature->GetGUID());
                break;
            case GOSSIP_ACTION_INFO_DEF+78:
                Enchant(player, creature, EQUIPMENT_SLOT_FINGER1, 3839);
                break;
            case GOSSIP_ACTION_INFO_DEF+79:
                Enchant(player, creature, EQUIPMENT_SLOT_FINGER1, 3840);
                break;
            case GOSSIP_ACTION_INFO_DEF+80:
                Enchant(player, creature, EQUIPMENT_SLOT_FINGER1, 3791);
                break;
            case GOSSIP_ACTION_INFO_DEF+11:
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 40", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+81);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 23", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+82);
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 30", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+83);
                player->SEND_GOSSIP_MENU(55003, creature->GetGUID());
                break;
            case GOSSIP_ACTION_INFO_DEF+81:
                Enchant(player, creature, EQUIPMENT_SLOT_FINGER2, 3839);
                break;
            case GOSSIP_ACTION_INFO_DEF+82:
                Enchant(player, creature, EQUIPMENT_SLOT_FINGER2, 3840);
                break;
            case GOSSIP_ACTION_INFO_DEF+83:
                Enchant(player, creature, EQUIPMENT_SLOT_FINGER2, 3791);
                break;
            case GOSSIP_ACTION_INFO_DEF+12:
            {
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);

                Item* item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_MAINHAND);
                if (!item)
                    return true;

                if (validItem(2, item))
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 110", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+98);
                if (validItem(3, item))
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 81", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+99);
                if (validItem(1, item))
                {
                    if (!validItem(2, item))
                        player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 65", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+89);
                    if (!validItem(3, item))
                        player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 63", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+88);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "меткость и крит 25", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+85);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "ловкость 26", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+94);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "дух 45", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+95);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 50", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+84);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* 400 силы атаки, -5% брони", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+86);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* рейтинг скорости 250", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+87);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* пробивание брони 120", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+96);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* ловкость 120, скорость атаки", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+97);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* урон от огня", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+90);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* исцеление при ударе в ближнем бою", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+91);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* 360-440 хп при менее 35% хп", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+92);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* парирование 200 и урон 600-800", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+93);
                }

                player->SEND_GOSSIP_MENU(55004, creature->GetGUID());
            }   break;
            case GOSSIP_ACTION_INFO_DEF+84:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3851, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+85:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3788, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+86:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3789, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+87:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3790, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+88:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3834, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+89:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3833, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+90:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3239, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+91:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3241, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+92:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3870, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+93:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3869, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+94:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 1103, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+95:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3844, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+96:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3225, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+97:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 2673, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+98:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3827, 2);
                break;
            case GOSSIP_ACTION_INFO_DEF+99:
                Enchant(player, creature, EQUIPMENT_SLOT_MAINHAND, 3854, 3);
                break;
            case GOSSIP_ACTION_INFO_DEF+13:
            {
                player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "<- Назад", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);

                Item* item = player->GetItemByPos(INVENTORY_SLOT_BAG_0, EQUIPMENT_SLOT_OFFHAND);
                if (!item)
                    return true;

                if (validItem(1, item))
                {
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила атаки 65", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+111);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "сила заклинаний 63", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+110);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "меткость и крит 25", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+107);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "ловкость 26", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+116);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "дух 45", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+117);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 50", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+106);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* 400 силы атаки, -5% брони", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+108);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* рейтинг скорости 250", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+109);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* пробивание брони 120", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+118);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* ловкость 120, скорость атаки", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+119);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* урон от огня", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+112);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* исцеление при ударе в ближнем бою", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+113);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* 360-440 хп при менее 35% хп", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+114);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "* парирование 200 и урон 600-800", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+115);
                }
                if (validItem(4, item))
                {
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "интелект 25", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+101);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "рейтинг блокирования 15", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+102);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "показатель блокирования 36", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+105);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "рейтинг защиты 20", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+100);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "выносливость 18", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+104);
                    player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TRAINER, "устойчивость 12", GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+103);
                }

                player->SEND_GOSSIP_MENU(55004, creature->GetGUID());
            }   break;
            case GOSSIP_ACTION_INFO_DEF+100:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 1952, 4);
                break;
            case GOSSIP_ACTION_INFO_DEF+101:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 1128, 4);
                break;
            case GOSSIP_ACTION_INFO_DEF+102:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 2655, 4);
                break;
            case GOSSIP_ACTION_INFO_DEF+103:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3229, 4);
                break;
            case GOSSIP_ACTION_INFO_DEF+104:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 1071, 4);
                break;
            case GOSSIP_ACTION_INFO_DEF+105:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 2653, 4);
                break;
            case GOSSIP_ACTION_INFO_DEF+106:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3851, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+107:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3788, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+108:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3789, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+109:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3790, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+110:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3834, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+111:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3833, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+112:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3239, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+113:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3241, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+114:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3870, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+115:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3869, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+116:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 1103, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+117:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3844, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+118:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 3225, 1);
                break;
            case GOSSIP_ACTION_INFO_DEF+119:
                Enchant(player, creature, EQUIPMENT_SLOT_OFFHAND, 2673, 1);
                break;
        }

        return true;
    }