Code:
UPDATE `creature_template` SET `NpcFlags` = '0';
-- Gossip
UPDATE `creature_template` SET `NpcFlags` = `NpcFlags`|'1' WHERE `entry` IN ((SELECT `creatureid` FROM `npc_gossip_textid`) OR (SELECT `entry` FROM `creature_root` WHERE `info_str` LIKE 'Directions'));
-- Quest giver / finisher
UPDATE `creature_template` SET `NpcFlags` = `NpcFlags`|'2' WHERE `entry` IN (SELECT `id` FROM `quests_creature_starter`) OR `entry` IN (SELECT `id` FROM `quests_creature_finisher`);
-- General trainer npcflag.
UPDATE `creature_template` SET `NpcFlags` = `NpcFlags`|'16' WHERE `entry` IN (SELECT `entry` FROM `npc_trainer_defs`);
-- Class Trainer
UPDATE `creature_template` SET `NpcFlags` = `NpcFlags`|'32' WHERE `entry` IN (SELECT `entry` FROM `npc_trainer_defs` WHERE `trainer_type` = '0');
-- Tradeskill trainer
UPDATE `creature_template` SET `NpcFlags` = `NpcFlags`|'64' WHERE `entry` IN (SELECT `entry` FROM `npc_trainer_defs` WHERE `trainer_type` = '2');
-- Vendors (using temp table to speed up)
DROP TABLE IF EXISTS `tmp`;
CREATE TABLE `tmp` (`entry` INT NOT NULL,PRIMARY KEY(`entry`),UNIQUE(`entry`)) TYPE = MyISAM;
INSERT INTO `tmp` (entry) SELECT DISTINCT `entry` FROM `npc_vendors`;
UPDATE `creature_template` SET `NpcFlags` = `NpcFlags`|'128' WHERE `entry` IN (SELECT `entry` FROM `tmp`);
DROP TABLE IF EXISTS `tmp`;
-- Armorer
UPDATE `creature_template` SET `NpcFlags` = `NpcFlags`|'4096' WHERE `entry` IN ('54','74','78','167','190','222','225','226','228','789','793','836','896','945','954','956','959','980','981','984','1104','1146','1147','1198','1213','1214','1238','1240','1243','1249','1273','1287','1289','1291','1294','1295','1296','1297','1298','1299','1309','1310','1312','1314','1315','1319','1320','1322','1323','1324','1333','1339','1341','1348','1349','1350','1362','1381','1407','1441','1450','1454','1459','1461','1462','1469','1471','1645','1668','1669','1686','1687','1690','1695','1698','2046','2113','2116','2117','2135','2136','2137','2482','2483','2679','2839','2840','2843','2844','2845','2847','2849','2997','2999','3000','3015','3018','3019','3020','3021','3022','3023','3053','3073','3074','3075','3077','3078','3079','3080','3088','3092','3093','3095','3097','3159','3160','3161','3162','3163','3165','3166','3167','3177','3314','3315','3316','3317','3319','3321','3322','3330','3331','3343','3349','3356','3359','3360','3361','3409','3410','3477','3479','3483','3486','3488','3491','3492','3493','3522','3528','3532','3534','3536','3537','3539','3543','3552','3553','3554','3588','3589','3590','3591','3592','3609','3610','3611','3612','3613','3658','3682','3683','3684','3951','3952','3953','4043','4085','4086','4164','4171','4172','4173','4175','4177','4180','4183','4184','4185','4186','4187','4203','4231','4232','4233','4234','4235','4236','4240','4257','4259','4556','4557','4558','4559','4560','4569','4570','4580','4592','4597','4600','4601','4602','4603','4604','4883','4884','4886','4888','4889','4890','4892','5102','5103','5106','5107','5108','5119','5120','5121','5122','5123','5125','5126','5129','5133','5152','5155','5156','5170','5411','5508','5509','5510','5512','5754','5812','5816','5819','5820','5821','6028','6300','7852','7976','8129','8131','8159','8161','8176','8358','8359','8360','8398','8878','9179','9544','9548','9549','9551','9552','9553','9555','10293','10361','10369','10379','10380','10856','10857','11137','11182','11183','11184','11536','11703','12023','12024','12029','12045','12799','12942','13217','13219','14301','14337','14371','14624','14753','14754','14921','15126','15127','15176','15289','15291','15292','15315','15400','16186','16257','16258','16260','16261','16263','16274','16388','16528','16619','16620','16623','16625','16626','16631','16632','16636','16637','16666','16670','16678','16691','16693','16714','16715','16716','16735','16747','16750','16753','16762','16765','16917','16918','16919','17655','17667','17904','17929','17930','18010','18011','18278','18382','18426','18672','18926','18962','18997','19001','19011','19012','19043','19047','19056','19236','19238','19239','19240','19314','19315','19333','19339','19342','19351','19370','19373','19383','19436','19452','19473','19479','19499','19517','19526','19530','19536','19561','19575','19662','19694','19879','20112','20463','20616','20890','20917','21086','21112','21183','21474','21906','22099','22225','22227','22476','22491','23144','23373','23381','23571','23724','23897','24667','24668','24671','24672','24780','25196');
-- Flight masters
UPDATE `creature_template` SET `NpcFlags` = `NpcFlags`|'8192' WHERE `entry` IN (SELECT `entry` FROM `creature_root` WHERE `subname` LIKE 'Gryphon Master' OR `subname` LIKE 'Flight Master' OR `subname` LIKE 'Hippogryph Master' OR `subname` LIKE 'Wind Rider Master' OR `subname` LIKE 'Bat Handler');
-- Spirit healer
UPDATE `creature_template` SET `NpcFlags` = `NpcFlags`|'16384' WHERE `entry` = '6491';
-- Spirit guide
UPDATE `creature_template` SET `NpcFlags` = `NpcFlags`|'32768' WHERE `entry` IN ('13116','13117');
-- Innkeeper
UPDATE `creature_template` SET `NpcFlags` = `NpcFlags`|'65536' WHERE `entry` IN (SELECT `entry` FROM `creature_root` WHERE `subname` LIKE 'Innkeeper');
-- Banker
UPDATE `creature_template` SET `NpcFlags` = `NpcFlags`|'131072' WHERE `entry` IN (SELECT `entry` FROM `creature_root` WHERE `subname` LIKE 'Banker');
-- Arena Organizer
UPDATE `creature_template` SET `NpcFlags` = `NpcFlags`|'262144' WHERE `entry` IN (SELECT `entry` FROM `creature_root` WHERE `subname` LIKE 'Arena Organizer');
-- Tabard Designer
UPDATE `creature_template` SET `NpcFlags` = `NpcFlags`|'524288' WHERE `entry` IN (SELECT `entry` FROM `creature_root` WHERE `subname` LIKE '%Tabard Designer%');
-- Guild Master
UPDATE `creature_template` SET `NpcFlags` = `NpcFlags`|'786433' WHERE `entry` IN (SELECT `entry` FROM `creature_root` WHERE `subname` LIKE '%Guild Master%');
-- PVP Battlemasters
UPDATE `creature_template` SET `NpcFlags` = `NpcFlags`|'1048576' WHERE `entry` IN (SELECT `entry` FROM `creature_root` WHERE `subname` LIKE 'Battlemaster') OR `entry` IN (14990,14991,15102,15103,15105,15106,22013,22015);
-- Auctioneer
UPDATE `creature_template` SET `NpcFlags` = `NpcFlags`|'2097152' WHERE `entry` IN (SELECT `entry` FROM `creature_root` WHERE `name` LIKE '%Auctioneer%');
-- Stable Master
UPDATE `creature_template` SET `NpcFlags` = `NpcFlags`|'4194304' WHERE `entry` IN (SELECT `entry` FROM `creature_root` WHERE `subname` LIKE 'Stable Master');