mirror of
https://github.com/ProjectSkyfire/SkyFire_548
synced 2026-08-18 06:32:13 -04:00
1491 lines
72 KiB
SQL
1491 lines
72 KiB
SQL
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
|
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
|
/*!40101 SET NAMES utf8 */;
|
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
|
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
|
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
|
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
|
|
DELIMITER ;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_CharExtraLevelHPMP` */;;
|
|
/*!50003 SET SESSION SQL_MODE=""*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_CharExtraLevelHPMP`()
|
|
BEGIN
|
|
|
|
DECLARE intMaxHP INT DEFAULT 65535000;
|
|
DECLARE intMaxMana INT DEFAULT 65535000;
|
|
DECLARE sngHPInc FLOAT DEFAULT 0.001;
|
|
DECLARE sngManaInc FLOAT DEFAULT 0.001;
|
|
DECLARE intStartLvl INT DEFAULT 80;
|
|
DECLARE intFinishLvl INT DEFAULT 90;
|
|
|
|
DECLARE intRecordDone INT DEFAULT 0;
|
|
DECLARE intClass INT DEFAULT 0;
|
|
DECLARE intLevel INT DEFAULT 0;
|
|
DECLARE intCurrHP INT DEFAULT 0;
|
|
DECLARE intCurrMana INT DEFAULT 0;
|
|
|
|
DECLARE curPlayerStat CURSOR FOR SELECT `class`, `level`, `basehp`, `basemana` FROM player_classlevelstats;
|
|
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET intRecordDone = 1;
|
|
|
|
OPEN curPlayerStat;
|
|
|
|
REPEAT
|
|
|
|
FETCH curPlayerStat INTO intClass, intLevel, intCurrHP, intCurrMana;
|
|
|
|
IF intLevel = intStartLvl THEN
|
|
REPEAT
|
|
|
|
SET intLevel = intLevel + 1;
|
|
|
|
DELETE FROM player_classlevelstats WHERE `class` = intClass AND `level` = intLevel;
|
|
|
|
IF (ROUND(intCurrHP * (1 + sngHPInc) + 200)) <= intMaxHP THEN
|
|
SET intCurrHP = ROUND(intCurrHP * (1 + sngHPInc) + 200);
|
|
ELSE
|
|
SET intCurrHP = intMaxHP;
|
|
END IF;
|
|
|
|
IF (ROUND(intCurrMana * (1 + sngManaInc) + 200)) <= intMaxMana THEN
|
|
SET intCurrMana = ROUND(intCurrMana * (1 + sngManaInc) + 200);
|
|
ELSE
|
|
SET intCurrMana = intMaxMana;
|
|
END IF;
|
|
|
|
INSERT INTO player_classlevelstats
|
|
(`class`, `level`, `basehp`, `basemana`)
|
|
VALUES
|
|
(intClass, intLevel, intCurrHP, intCurrMana);
|
|
UNTIL intLevel = intFinishLvl END REPEAT;
|
|
END IF;
|
|
UNTIL intRecordDone END REPEAT;
|
|
|
|
CLOSE curPlayerStat;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_CharExtraLevelStats` */;;
|
|
/*!50003 SET SESSION SQL_MODE=""*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_CharExtraLevelStats`()
|
|
BEGIN
|
|
|
|
DECLARE intMaxStats INT DEFAULT 2556541;
|
|
DECLARE sngStatsInc FLOAT DEFAULT 0.00000000001;
|
|
DECLARE intStartLvl INT DEFAULT 80;
|
|
DECLARE intFinishLvl INT DEFAULT 90;
|
|
|
|
DECLARE intRecordDone INT DEFAULT 0;
|
|
DECLARE intRace INT DEFAULT 0;
|
|
DECLARE intClass INT DEFAULT 0;
|
|
DECLARE intLevel INT DEFAULT 0;
|
|
DECLARE intCurrSTR INT DEFAULT 0;
|
|
DECLARE intCurrAGI INT DEFAULT 0;
|
|
DECLARE intCurrSTA INT DEFAULT 0;
|
|
DECLARE intCurrINT INT DEFAULT 0;
|
|
DECLARE intCurrSPI INT DEFAULT 0;
|
|
|
|
DECLARE curPlayerStat CURSOR FOR SELECT `race`, `class`, `level`, `str`, `agi`, `sta`, `inte`, `spi` FROM player_levelstats;
|
|
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET intRecordDone = 1;
|
|
|
|
OPEN curPlayerStat;
|
|
|
|
REPEAT
|
|
|
|
FETCH curPlayerStat INTO intRace, intClass, intLevel, intCurrSTR, intCurrAGI, intCurrSTA, intCurrINT, intCurrSPI;
|
|
|
|
IF intLevel = intStartLvl THEN
|
|
REPEAT
|
|
|
|
SET intLevel = intLevel + 1;
|
|
|
|
DELETE FROM player_levelstats WHERE `race` = intRace AND `class` = intClass AND `level` = intLevel;
|
|
|
|
IF (ROUND(intCurrSTR * (1 + sngStatsInc) + 10)) <= intMaxStats THEN
|
|
SET intCurrSTR = ROUND(intCurrSTR * (1 + sngStatsInc) + 10);
|
|
ELSE
|
|
SET intCurrSTR = intMaxStats;
|
|
END IF;
|
|
|
|
IF (ROUND(intCurrAGI * (1 + sngStatsInc) + 10)) <= intMaxStats THEN
|
|
SET intCurrAGI = ROUND(intCurrAGI * (1 + sngStatsInc) + 10);
|
|
ELSE
|
|
SET intCurrAGI = intMaxStats;
|
|
END IF;
|
|
|
|
IF (ROUND(intCurrSTA * (1 + sngStatsInc) + 10)) <= intMaxStats THEN
|
|
SET intCurrSTA = ROUND(intCurrSTA * (1 + sngStatsInc) + 10);
|
|
ELSE
|
|
SET intCurrSTA = intMaxStats;
|
|
END IF;
|
|
|
|
IF (ROUND(intCurrINT * (1 + sngStatsInc) + 10)) <= intMaxStats THEN
|
|
SET intCurrINT = ROUND(intCurrINT * (1 + sngStatsInc) + 10);
|
|
ELSE
|
|
SET intCurrINT = intMaxStats;
|
|
END IF;
|
|
|
|
IF (ROUND(intCurrSPI * (1 + sngStatsInc) + 10)) <= intMaxStats THEN
|
|
SET intCurrSPI = ROUND(intCurrSPI * (1 + sngStatsInc) + 10);
|
|
ELSE
|
|
SET intCurrSPI = intMaxStats;
|
|
END IF;
|
|
|
|
INSERT INTO player_levelstats
|
|
(`race`, `class`, `level`, `str`, `agi`, `sta`, `inte`, `spi`)
|
|
VALUES
|
|
(intRace, intClass, intLevel, intCurrSTR, intCurrAGI, intCurrSTA, intCurrINT, intCurrSPI);
|
|
UNTIL intLevel = intFinishLvl END REPEAT;
|
|
END IF;
|
|
UNTIL intRecordDone END REPEAT;
|
|
|
|
CLOSE curPlayerStat;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_delete_loot` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_delete_loot`(IN loot_type VARCHAR(10),IN loot_entry INT(10),IN item_entry INT(10))
|
|
BEGIN
|
|
IF loot_entry IS NOT NULL OR item_entry IS NOT NULL THEN
|
|
CASE UCASE(loot_type)
|
|
WHEN 'FISH' THEN BEGIN
|
|
DELETE FROM `fishing_loot_template` WHERE `entry`=IFNULL(loot_entry,`entry`) AND `item`=IFNULL(item_entry,`item`);
|
|
END;
|
|
WHEN 'NPC' THEN BEGIN
|
|
DELETE FROM `creature_loot_template` WHERE `entry`=IFNULL(loot_entry,`entry`) AND `item`=IFNULL(item_entry,`item`);
|
|
END;
|
|
WHEN 'GO' THEN BEGIN
|
|
DELETE FROM `gameobject_loot_template` WHERE `entry`=IFNUofcLL(loot_entry,`entry`) AND `item`=IFNULL(item_entry,`item`);
|
|
END;
|
|
WHEN 'ITEM' THEN BEGIN
|
|
DELETE FROM `item_loot_template` WHERE `entry`=IFNULL(loot_entry,`entry`) AND `item`=IFNULL(item_entry,`item`);
|
|
END;
|
|
WHEN 'DISENCH' THEN BEGIN
|
|
DELETE FROM `disenchant_loot_template` WHERE `entry`=IFNULL(loot_entry,`entry`) AND `item`=IFNULL(item_entry,`item`);
|
|
END;
|
|
WHEN 'PROSPECT' THEN BEGIN
|
|
DELETE FROM `propspecting_loot_template` WHERE `entry`=IFNULL(loot_entry,`entry`) AND `item`=IFNULL(item_entry,`item`);
|
|
END;
|
|
WHEN 'MILL' THEN BEGIN
|
|
DELETE FROM `millling_loot_template` WHERE `entry`=IFNULL(loot_entry,`entry`) AND `item`=IFNULL(item_entry,`item`);
|
|
END;
|
|
WHEN 'PICKPOCKET' THEN BEGIN
|
|
DELETE FROM `pickpocketing_loot_template` WHERE `entry`=IFNULL(loot_entry,`entry`) AND `item`=IFNULL(item_entry,`item`);
|
|
END;
|
|
WHEN 'SKIN' THEN BEGIN
|
|
DELETE FROM `skinning_loot_template` WHERE `entry`=IFNULL(loot_entry,`entry`) AND `item`=IFNULL(item_entry,`item`);
|
|
END;
|
|
WHEN 'QUEST' THEN BEGIN
|
|
DELETE FROM `quest_loot_template` WHERE `entry`=IFNULL(loot_entry,`entry`) AND `item`=IFNULL(item_entry,`item`);
|
|
END;
|
|
WHEN 'REF' THEN BEGIN
|
|
IF loot_entry IS NOT NULL THEN
|
|
DELETE FROM `creature_loot_template` WHERE `mincountOrRef`=-loot_entry;
|
|
DELETE FROM `disenchant_loot_template` WHERE `mincountOrRef`=-loot_entry;
|
|
DELETE FROM `fishing_loot_template` WHERE `mincountOrRef`=-loot_entry;
|
|
DELETE FROM `gameobject_loot_template` WHERE `mincountOrRef`=-loot_entry;
|
|
DELETE FROM `item_loot_template` WHERE `mincountOrRef`=-loot_entry;
|
|
DELETE FROM `mail_loot_template` WHERE `mincountOrRef`=-loot_entry;
|
|
DELETE FROM `milling_loot_template` WHERE `mincountOrRef`=-loot_entry;
|
|
DELETE FROM `pickpocketing_loot_template` WHERE `mincountOrRef`=-loot_entry;
|
|
DELETE FROM `prospecting_loot_template` WHERE `mincountOrRef`=-loot_entry;
|
|
DELETE FROM `skinning_loot_template` WHERE `mincountOrRef`=-loot_entry;
|
|
DELETE FROM `spell_loot_template` WHERE `mincountOrRef`=-loot_entry;
|
|
END IF;
|
|
|
|
DELETE FROM `reference_loot_template` WHERE `entry`=IFNULL(loot_entry,`entry`) AND `item`=IFNULL(item_entry,`item`);
|
|
END;
|
|
ELSE CALL INVALID_LOOT_TYPE;
|
|
END CASE;
|
|
ELSE
|
|
CALL MUST_PROVIDE_ENTRY_OR_ITEM;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_delete_npc_trainer` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_delete_npc_trainer`(IN npc_entry INT(10), IN spell_id INT(10))
|
|
BEGIN
|
|
IF spell_id IS NOT NULL OR npc_entry IS NOT NULL THEN
|
|
DELETE FROM `npc_trainer` WHERE `entry`=IFNULL(npc_entry,`entry`) AND `spell`=IFNULL(spell_id,`spell`);
|
|
ELSE
|
|
CALL MUST_PROVIDE_ENTRY_OR_SPELL;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_delete_npc_vendor` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_delete_npc_vendor`(IN npc_entry INT(10), IN item_entry INT(10))
|
|
BEGIN
|
|
IF item_entry IS NOT NULL OR npc_entry IS NOT NULL THEN
|
|
DELETE FROM `npc_vendor` WHERE `entry`=IFNULL(npc_entry,`entry`) AND `item`=IFNULL(item_entry,`item`);
|
|
ELSE
|
|
CALL MUST_PROVIDE_ENTRY_OR_ITEM;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_delete_questgiver` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_delete_questgiver`(IN qg_type VARCHAR(10),IN qg_entry INT(10), IN quest_entry INT(10))
|
|
BEGIN
|
|
IF qg_entry IS NOT NULL OR quest_entry IS NOT NULL THEN
|
|
CASE UCASE(qg_type)
|
|
WHEN 'NPC' THEN BEGIN
|
|
DELETE FROM `creature_questrelation` WHERE `id`=IFNULL(qg_entry,`id`) AND `quest`=IFNULL(quest_entry,`quest`);
|
|
END;
|
|
WHEN 'GO' THEN BEGIN
|
|
DELETE FROM `gameobject_questrelation` WHERE `id`=IFNULL(qg_entry,`id`) AND `quest`=IFNULL(quest_entry,`quest`);
|
|
END;
|
|
ELSE CALL INVALID_ENTRY_TYPE;
|
|
END CASE;
|
|
ELSE CALL MUST_PROVIDE_ENTRY_OR_QUEST;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_delete_questtaker` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_delete_questtaker`(IN qt_type VARCHAR(10),IN qt_entry INT(10), IN quest_entry INT(10))
|
|
BEGIN
|
|
IF qt_entry IS NOT NULL OR quest_entry IS NOT NULL THEN
|
|
CASE UCASE(qt_type)
|
|
WHEN 'NPC' THEN BEGIN
|
|
DELETE FROM `creature_involvedrelation` WHERE `id`=IFNULL(qt_entry,`id`) AND `quest`=IFNULL(quest_entry,`quest`);
|
|
END;
|
|
WHEN 'GO' THEN BEGIN
|
|
DELETE FROM `gameobject_involvedrelation` WHERE `id`=IFNULL(qt_entry,`id`) AND `quest`=IFNULL(quest_entry,`quest`);
|
|
END;
|
|
ELSE CALL INVALID_ENTRY_TYPE;
|
|
END CASE;
|
|
ELSE CALL MUST_PROVIDE_ENTRY_OR_QUEST;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_delete_script` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_delete_script`(IN script_type VARCHAR(10), IN script_id INT(10))
|
|
BEGIN
|
|
CASE UCASE(script_type)
|
|
WHEN 'EAI' THEN BEGIN
|
|
DELETE FROM `creature_ai_scripts` WHERE `id`=script_id;
|
|
END;
|
|
WHEN 'GO' THEN BEGIN
|
|
DELETE FROM `gameobject_scripts` WHERE `id`=script_id;
|
|
END;
|
|
WHEN 'GOSSIP' THEN BEGIN
|
|
DELETE FROM `gossip_scripts` WHERE `id`=script_id;
|
|
END;
|
|
WHEN 'Q_START' THEN BEGIN
|
|
DELETE FROM `quest_start_scripts` WHERE `id`=script_id;
|
|
END;
|
|
WHEN 'Q_END' THEN BEGIN
|
|
DELETE FROM `quest_end_scripts` WHERE `id`=script_id;
|
|
END;
|
|
WHEN 'SPELL' THEN BEGIN
|
|
DELETE FROM `spell_scripts` WHERE `id`=script_id;
|
|
END;
|
|
WHEN 'WP' THEN BEGIN
|
|
DELETE FROM `waypoint_scripts` WHERE `id`=script_id;
|
|
END;
|
|
ELSE CALL INVALID_SCRIPT_TYPE;
|
|
END CASE;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_delete_script_bylist` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_delete_script_bylist`(IN script_type VARCHAR(10), IN script_id_list LONGTEXT)
|
|
BEGIN
|
|
CALL `sp_set_entry_list` (script_id_list,null);
|
|
CASE UCASE(script_type)
|
|
WHEN 'EAI' THEN BEGIN
|
|
DELETE FROM `creature_ai_scripts` WHERE `id` IN (SELECT * FROM `tdb_entry_list`);
|
|
END;
|
|
WHEN 'GO' THEN BEGIN
|
|
DELETE FROM `gameobject_scripts` WHERE `id` IN (SELECT * FROM `tdb_entry_list`);
|
|
END;
|
|
WHEN 'GOSSIP' THEN BEGIN
|
|
DELETE FROM `gossip_scripts` WHERE `id` IN (SELECT * FROM `tdb_entry_list`);
|
|
END;
|
|
WHEN 'Q_START' THEN BEGIN
|
|
DELETE FROM `quest_start_scripts` WHERE `id` IN (SELECT * FROM `tdb_entry_list`);
|
|
END;
|
|
WHEN 'Q_END' THEN BEGIN
|
|
DELETE FROM `quest_end_scripts` WHERE `id` IN (SELECT * FROM `tdb_entry_list`);
|
|
END;
|
|
WHEN 'SPELL' THEN BEGIN
|
|
DELETE FROM `spell_scripts` WHERE `id` IN (SELECT * FROM `tdb_entry_list`);
|
|
END;
|
|
WHEN 'WP' THEN BEGIN
|
|
DELETE FROM `waypoint_scripts` WHERE `id` IN (SELECT * FROM `tdb_entry_list`);
|
|
END;
|
|
ELSE CALL INVALID_SCRIPT_TYPE;
|
|
END CASE;
|
|
DROP TABLE `tdb_entry_list`;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_delete_spawn` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_delete_spawn`(IN spawn_type VARCHAR(10),IN spawn_guid INT(10), IN spawn_entry INT(10))
|
|
BEGIN
|
|
IF spawn_guid IS NOT NULL OR spawn_entry IS NOT NULL THEN
|
|
CASE UCASE(spawn_type)
|
|
WHEN 'NPC' THEN BEGIN
|
|
DELETE FROM `creature` WHERE `guid`=IFNULL(spawn_guid,`guid`) AND `id`=IFNULL(spawn_entry,`id`);
|
|
DELETE FROM `game_event_creature` WHERE `guid`=IFNULL(spawn_guid,-1);
|
|
END;
|
|
WHEN 'GO' THEN BEGIN
|
|
DELETE FROM `gameobject` WHERE `guid`=IFNULL(spawn_guid,`guid`) AND `id`=IFNULL(spawn_entry,`id`);
|
|
DELETE FROM `game_event_gameobject` WHERE `guid`=IFNULL(spawn_guid,-1);
|
|
END;
|
|
ELSE CALL INVALID_SPAWN_TYPE;
|
|
END CASE;
|
|
ELSE
|
|
CALL MUST_PROVIDE_GUID_OR_ENTRY;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_delete_spell_area` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_delete_spell_area`(IN spell_id INT(10), IN area_id INT(10))
|
|
BEGIN
|
|
|
|
IF spell_id IS NOT NULL OR area_id IS NOT NULL THEN
|
|
DELETE FROM `spell_area` WHERE `spell`=IFNULL(spell_id,`spell`) AND `area`=IFNULL(area_id,`area`);
|
|
ELSE
|
|
CALL MUST_PROVIDE_SPELL_OR_AREA;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_delete_spell_position` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_delete_spell_position`(IN spell_id INT(10))
|
|
BEGIN
|
|
DELETE FROM `spell_target_position` WHERE `id`=spell_id;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_delete_spell_position_bylist` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_delete_spell_position_bylist`(IN spell_list LONGTEXT)
|
|
BEGIN
|
|
CALL `sp_set_entry_list` (spell_list,null);
|
|
DELETE FROM `spell_target_position` WHERE `id` IN (SELECT * FROM `tdb_entry_list`);
|
|
DROP TABLE `tdb_entry_list`;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_delete_spell_target` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_delete_spell_target`(IN spell_id INT(10),IN target_entry INT(10))
|
|
BEGIN
|
|
IF spell_id IS NOT NULL OR target_entry IS NOT NULL THEN
|
|
DELETE FROM `spell_script_target` WHERE `entry`=IFNULL(spell_id,`entry`) AND `targetEntry`=IFNULL(target_entry,`targetEntry`);
|
|
ELSE
|
|
CALL MUST_PROVIDE_SPELL_OR_TARGET;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_dev_cleanup_loot` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_dev_cleanup_loot`()
|
|
BEGIN
|
|
CREATE TABLE `Loot_temp` (
|
|
`lootid` INT(8) UNSIGNED NOT NULL PRIMARY KEY DEFAULT '0'
|
|
);
|
|
INSERT IGNORE INTO `Loot_temp` SELECT `entry` FROM `item_template`;
|
|
DELETE FROM `prospecting_loot_template` WHERE `entry` NOT IN (SELECT `lootid` FROM `Loot_temp`);
|
|
DELETE FROM `Loot_temp`;
|
|
INSERT IGNORE INTO `Loot_temp` SELECT `skinloot` FROM `creature_template` WHERE skinloot>0;
|
|
DELETE FROM `skinning_loot_template` WHERE `entry` NOT IN (SELECT `lootid` FROM `Loot_temp`);
|
|
DELETE FROM `Loot_temp`;
|
|
INSERT IGNORE INTO `Loot_temp` SELECT `lootid` FROM `creature_template` WHERE lootid>0;
|
|
DELETE FROM `creature_loot_template` WHERE `entry` NOT IN (SELECT `lootid` FROM `Loot_temp`);
|
|
DELETE FROM `Loot_temp`;
|
|
DROP TABLE `Loot_temp`;
|
|
DELETE FROM `disenchant_loot_template` WHERE `item` NOT IN (SELECT `entry` FROM `item_template`);
|
|
DELETE FROM `disenchant_loot_template` WHERE `entry` NOT IN (SELECT `disenchantid` FROM `item_template`);
|
|
DELETE FROM `pickpocketing_loot_template` WHERE `item` NOT IN (SELECT `entry` FROM `item_template`);
|
|
DELETE FROM `prospecting_loot_template` WHERE `entry` NOT IN (SELECT `entry` FROM `item_template`);
|
|
DELETE FROM `prospecting_loot_template` WHERE `item` NOT IN (SELECT `entry` FROM `item_template`);
|
|
DELETE FROM `mail_loot_template` WHERE `item` NOT IN (SELECT `entry` FROM `item_template`);
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_dev_cleanup_reference_loot` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_dev_cleanup_reference_loot`()
|
|
BEGIN
|
|
CREATE TABLE `RL_temp` (
|
|
`ref_id` INT(8) UNSIGNED NOT NULL PRIMARY KEY DEFAULT '0'
|
|
);
|
|
INSERT IGNORE INTO `RL_temp` SELECT DISTINCT(`mincountOrRef`)*-1 FROM `gameobject_loot_template` WHERE `mincountOrRef` <0;
|
|
INSERT IGNORE INTO `RL_temp` SELECT DISTINCT(`mincountOrRef`)*-1 FROM `item_loot_template` WHERE `mincountOrRef` <0;
|
|
INSERT IGNORE INTO `RL_temp` SELECT DISTINCT(`mincountOrRef`)*-1 FROM `creature_loot_template` WHERE `mincountOrRef` <0;
|
|
INSERT IGNORE INTO `RL_temp` SELECT DISTINCT(`mincountOrRef`)*-1 FROM `spell_loot_template` WHERE `mincountOrRef` <0;
|
|
INSERT IGNORE INTO `RL_temp` SELECT DISTINCT(`mincountOrRef`)*-1 FROM `prospecting_loot_template` WHERE `mincountOrRef` <0;
|
|
INSERT IGNORE INTO `RL_temp` SELECT DISTINCT(`mincountOrRef`)*-1 FROM `milling_loot_template` WHERE `mincountOrRef` <0;
|
|
INSERT IGNORE INTO `RL_temp` SELECT DISTINCT(`mincountOrRef`)*-1 FROM `mail_loot_template` WHERE `mincountOrRef` <0;
|
|
INSERT IGNORE INTO `RL_temp` SELECT DISTINCT(`mincountOrRef`)*-1 FROM `reference_loot_template` WHERE `mincountOrRef`<0;
|
|
DELETE FROM `reference_loot_template` WHERE `entry` NOT IN (SELECT `ref_id` FROM `RL_temp`);
|
|
DROP TABLE `RL_temp`;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_dev_cleanup_world` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_dev_cleanup_world`()
|
|
BEGIN
|
|
DELETE FROM `gameobject` WHERE `id` NOT IN (SELECT `entry` FROM `gameobject_template`);
|
|
DELETE FROM `creature` WHERE `id` NOT IN (SELECT `entry` FROM `creature_template`);
|
|
DELETE FROM areatrigger_involvedrelation WHERE `quest` NOT IN (SELECT `entry` FROM `quest_template`);
|
|
DELETE FROM `battlemaster_entry` WHERE `entry` NOT IN (SELECT `entry` FROM `creature_template`);
|
|
DELETE FROM `battlemaster_entry` WHERE `bg_template` NOT IN (SELECT `id` FROM `battleground_template`);
|
|
UPDATE `creature` SET `equipment_id`=0 WHERE `equipment_id` NOT IN (SELECT `entry` FROM `creature_equip_template`) AND `equipment_id`!=0;
|
|
DELETE FROM `creature_addon` WHERE `guid` NOT IN (SELECT `guid` FROM `creature`);
|
|
DELETE FROM `creature_ai_scripts` WHERE `creature_id` NOT IN (SELECT `entry` FROM `creature_template`);
|
|
DELETE FROM `creature_formations` WHERE leaderGUID NOT IN (SELECT `guid` FROM `creature`);
|
|
DELETE FROM `creature_formations` WHERE memberGUID NOT IN (SELECT `guid` FROM `creature`);
|
|
DELETE FROM `creature_involvedrelation` WHERE `id` NOT IN (SELECT `entry` FROM `creature_template`);
|
|
DELETE FROM `creature_involvedrelation` WHERE `quest` NOT IN (SELECT `entry` FROM `quest_template`);
|
|
DELETE FROM `creature_linked_respawn` WHERE `guid` NOT IN (SELECT `guid` FROM `creature`);
|
|
DELETE FROM `creature_linked_respawn` WHERE `linkedGuid` NOT IN (SELECT `guid` FROM `creature`);
|
|
DELETE FROM `creature_onkill_reputation` WHERE `creature_id` NOT IN (SELECT `entry` FROM `creature_template`);
|
|
DELETE FROM `creature_questrelation` WHERE `id` NOT IN (SELECT `entry` FROM `creature_template`);
|
|
DELETE FROM `creature_questrelation` WHERE `quest` NOT IN (SELECT `entry` FROM `quest_template`);
|
|
DELETE FROM `creature_template_addon` WHERE `entry` NOT IN (SELECT `entry` FROM `creature_template`);
|
|
DELETE FROM `game_event_creature_quest` WHERE `id` NOT IN (SELECT `entry` FROM `creature_template`);
|
|
DELETE FROM `game_event_creature_quest` WHERE `quest` NOT IN (SELECT `entry` FROM `quest_template`);
|
|
DELETE FROM `game_event_creature_quest` WHERE `event` NOT IN (SELECT `entry` FROM `game_event`);
|
|
DELETE FROM `game_event_gameobject_quest` WHERE `id` NOT IN (SELECT `entry` FROM `gameobject_template`);
|
|
DELETE FROM `game_event_gameobject_quest` WHERE `quest` NOT IN (SELECT `entry` FROM `quest_template`);
|
|
DELETE FROM `game_event_gameobject_quest` WHERE `event` NOT IN (SELECT `entry` FROM `game_event`);
|
|
DELETE FROM `game_event_npc_gossip` WHERE `event_id` NOT IN (SELECT `entry` FROM `game_event`);
|
|
DELETE FROM `game_event_model_equip` WHERE `event` NOT IN (SELECT `entry` FROM `game_event`);
|
|
DELETE FROM `game_event_battleground_holiday` WHERE `event` NOT IN (SELECT `entry` FROM `game_event`);
|
|
DELETE FROM `game_event_condition` WHERE `event_id` NOT IN (SELECT `entry` FROM `game_event`);
|
|
DELETE FROM `game_event_creature` WHERE `event` NOT IN (SELECT `entry` FROM `game_event`);
|
|
DELETE FROM `game_event_gameobject` WHERE `event` NOT IN (SELECT `entry` FROM `game_event`);
|
|
DELETE FROM `game_event_npc_vendor` WHERE `item` NOT IN (SELECT `entry` FROM `item_template`);
|
|
DELETE FROM `game_event_npc_vendor` WHERE `event` NOT IN (SELECT `entry` FROM `game_event`);
|
|
DELETE FROM `game_event_npcflag` WHERE `event_id` NOT IN (SELECT `entry` FROM `game_event`);
|
|
DELETE FROM `game_event_pool` WHERE `event` NOT IN (SELECT `entry` FROM `game_event`);
|
|
DELETE FROM `game_event_prerequisite` WHERE `event_id` NOT IN (SELECT `entry` FROM `game_event`);
|
|
DELETE FROM `game_event_prerequisite` WHERE `prerequisite_event` NOT IN (SELECT `entry` FROM `game_event`);
|
|
DELETE FROM `game_event_quest_condition` WHERE `event_id` NOT IN (SELECT `entry` FROM `game_event`);
|
|
DELETE FROM `game_event_quest_condition` WHERE `quest` NOT IN (SELECT `entry` FROM `quest_template`);
|
|
DELETE FROM `gameobject_involvedrelation` WHERE `id` NOT IN (SELECT `entry` FROM `gameobject_template`);
|
|
DELETE FROM `gameobject_involvedrelation` WHERE `quest` NOT IN (SELECT `entry` FROM `quest_template`);
|
|
DELETE FROM `item_required_target` WHERE `targetEntry` NOT IN (SELECT `entry` FROM `creature_template`) AND `type` IN (1,2);
|
|
DELETE FROM `mail_level_reward` WHERE `senderEntry` NOT IN (SELECT `entry` FROM `creature_template`);
|
|
DELETE FROM `npc_gossip` WHERE `npc_guid` NOT IN (SELECT `guid` FROM `creature`);
|
|
DELETE FROM `npc_spellclick_spells` WHERE `npc_entry` NOT IN (SELECT `entry` FROM `creature_template`);
|
|
DELETE FROM `npc_spellclick_spells` WHERE `quest_start` NOT IN (SELECT `entry` FROM `quest_template`) AND `quest_start`<>0;
|
|
DELETE FROM `npc_spellclick_spells` WHERE `quest_end` NOT IN (SELECT `entry` FROM `quest_template`) AND `quest_end`<>0;
|
|
DELETE FROM `npc_trainer` WHERE `entry` NOT IN (SELECT `entry` FROM `creature_template`);
|
|
DELETE FROM `npc_vendor` WHERE `entry` NOT IN (SELECT `entry` FROM `creature_template`);
|
|
DELETE FROM `npc_vendor` WHERE `item` NOT IN (SELECT `entry` FROM `item_template`);
|
|
DELETE FROM `pet_levelstats` WHERE `creature_entry` NOT IN (SELECT `entry` FROM `creature_template`);
|
|
DELETE FROM `quest_end_scripts` WHERE `id` NOT IN (SELECT `CompleteScript` FROM `quest_template`);
|
|
DELETE FROM `quest_start_scripts` WHERE `id` NOT IN (SELECT `StartScript` FROM `quest_template`);
|
|
DELETE FROM `spell_script_target` WHERE `targetEntry` NOT IN (SELECT `entry` FROM `creature_template`) AND `type` IN (1,2,3) AND `targetEntry`!=0;
|
|
DELETE FROM `spell_script_target` WHERE `targetEntry` NOT IN (SELECT `entry` FROM `gameobject_template`) AND `type`=0 AND `targetEntry`!=0;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_dev_reguid_alter_tables` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_dev_reguid_alter_tables`()
|
|
BEGIN
|
|
CREATE TABLE `creature_temp` (
|
|
`guid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Global Unique Identifier',
|
|
`id` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Creature Identifier',
|
|
`map` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Map Identifier',
|
|
`spawnMask` TINYINT(3) UNSIGNED NOT NULL DEFAULT '1',
|
|
`phaseMask` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '1',
|
|
`modelid` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
|
|
`equipment_id` MEDIUMINT(9) NOT NULL DEFAULT '0',
|
|
`position_x` FLOAT NOT NULL DEFAULT '0',
|
|
`position_y` FLOAT NOT NULL DEFAULT '0',
|
|
`position_z` FLOAT NOT NULL DEFAULT '0',
|
|
`orientation` FLOAT NOT NULL DEFAULT '0',
|
|
`spawntimesecs` INT(10) UNSIGNED NOT NULL DEFAULT '120',
|
|
`spawndist` FLOAT NOT NULL DEFAULT '5',
|
|
`currentwaypoint` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
|
|
`curhealth` INT(10) UNSIGNED NOT NULL DEFAULT '1',
|
|
`curmana` INT(10) UNSIGNED NOT NULL DEFAULT '0',
|
|
`DeathState` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
|
|
`MovementType` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
|
|
`old_guid` INT(10) UNSIGNED NOT NULL,
|
|
PRIMARY KEY (`guid`),
|
|
KEY `idx_map` (`map`),
|
|
KEY `idx_id` (`id`)
|
|
) ENGINE=MYISAM AUTO_INCREMENT=250001 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='Creature System';
|
|
ALTER TABLE `creature_addon` ADD COLUMN `new_guid` INT(10) UNSIGNED NOT NULL;
|
|
ALTER TABLE `creature_formations` ADD COLUMN `new_guid_leader` INT(10) UNSIGNED NOT NULL;
|
|
ALTER TABLE `creature_formations` ADD COLUMN `new_guid_member` INT(10) UNSIGNED NOT NULL;
|
|
ALTER TABLE `creature_linked_respawn` ADD COLUMN `new_guid` INT(10) UNSIGNED NOT NULL;
|
|
ALTER TABLE `creature_linked_respawn` ADD COLUMN `new_linked_guid` INT(10) UNSIGNED NOT NULL;
|
|
ALTER TABLE `game_event_creature` ADD COLUMN `new_guid` INT(10) UNSIGNED NOT NULL;
|
|
ALTER TABLE `pool_creature` ADD COLUMN `new_guid` INT(10) UNSIGNED NOT NULL;
|
|
ALTER TABLE `game_event_model_equip` ADD COLUMN `new_guid` INT(10) UNSIGNED NOT NULL;
|
|
ALTER TABLE `game_event_npc_gossip` ADD COLUMN `new_guid` INT(10) UNSIGNED NOT NULL;
|
|
ALTER TABLE `game_event_npc_vendor` ADD COLUMN `new_guid` INT(10) UNSIGNED NOT NULL;
|
|
ALTER TABLE `game_event_npcflag` ADD COLUMN `new_guid` INT(10) UNSIGNED NOT NULL;
|
|
ALTER TABLE `npc_gossip` ADD COLUMN `new_guid` INT(10) UNSIGNED NOT NULL;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_dev_re_guid` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_dev_re_guid`(IN new_base_guid INT(10))
|
|
BEGIN
|
|
CALL `sp_dev_reguid_alter_tables`();
|
|
SET @s = CONCAT("ALTER TABLE `creature_temp` AUTO_INCREMENT=",new_base_guid,";");
|
|
PREPARE STM FROM @s;
|
|
EXECUTE STM;
|
|
INSERT INTO `creature_temp` (id,map,spawnMask,phaseMask,modelid,equipment_id,position_x,position_y,position_z,orientation,spawndist,currentwaypoint,curhealth,curmana,DeathState,MovementType,old_guid)
|
|
SELECT id,map,spawnMask,phaseMask,modelid,equipment_id,position_x,position_y,position_z,orientation,spawndist,currentwaypoint,curhealth,curmana,DeathState,MovementType,guid FROM `creature` ORDER BY `id` ASC;
|
|
UPDATE `creature_temp` SET guid = old_guid WHERE `old_guid`>250000;
|
|
UPDATE game_event_npc_gossip p
|
|
INNER JOIN creature_temp pp
|
|
ON p.guid = pp.old_guid
|
|
SET p.new_guid = pp.guid;
|
|
UPDATE game_event_npc_vendor p
|
|
INNER JOIN creature_temp pp
|
|
ON p.guid = pp.old_guid
|
|
SET p.new_guid = pp.guid;
|
|
UPDATE game_event_npcflag p
|
|
INNER JOIN creature_temp pp
|
|
ON p.guid = pp.old_guid
|
|
SET p.new_guid = pp.guid;
|
|
UPDATE npc_gossip p
|
|
INNER JOIN creature_temp pp
|
|
ON p.npc_guid = pp.old_guid
|
|
SET p.new_guid = pp.guid;
|
|
UPDATE game_event_model_equip p
|
|
INNER JOIN creature_temp pp
|
|
ON p.guid = pp.old_guid
|
|
SET p.new_guid = pp.guid;
|
|
UPDATE creature_addon p
|
|
INNER JOIN creature_temp pp
|
|
ON p.guid = pp.old_guid
|
|
SET p.new_guid = pp.guid;
|
|
UPDATE creature_formations p
|
|
INNER JOIN creature_temp pp
|
|
ON p.leaderGUID = pp.old_guid
|
|
SET p.new_guid_leader = pp.guid;
|
|
UPDATE creature_formations p
|
|
INNER JOIN creature_temp pp
|
|
ON p.memberGUID = pp.old_guid
|
|
SET p.new_guid_member = pp.guid;
|
|
UPDATE creature_linked_respawn p
|
|
INNER JOIN creature_temp pp
|
|
ON p.guid = pp.old_guid
|
|
SET p.new_guid = pp.guid;
|
|
UPDATE creature_linked_respawn p
|
|
INNER JOIN creature_temp pp
|
|
ON p.guid = pp.old_guid
|
|
SET p.new_linked_guid = pp.guid;
|
|
UPDATE game_event_creature p
|
|
INNER JOIN creature_temp pp
|
|
ON p.guid = pp.old_guid
|
|
SET p.new_guid = pp.guid;
|
|
UPDATE pool_creature p
|
|
INNER JOIN creature_temp pp
|
|
ON p.guid = pp.old_guid
|
|
SET p.new_guid = pp.guid;
|
|
ALTER TABLE `creature_temp` DROP COLUMN `old_guid`;
|
|
DROP TABLE `creature`;
|
|
RENAME TABLE `creature_temp` TO `creature`;
|
|
ALTER TABLE game_event_npc_gossip DISABLE KEYS;
|
|
UPDATE `game_event_npc_gossip` SET `guid`=`new_guid`;
|
|
ALTER TABLE `game_event_npc_gossip` DROP COLUMN `new_guid`;
|
|
ALTER TABLE game_event_npc_gossip ENABLE KEYS;
|
|
ALTER TABLE game_event_npc_vendor DISABLE KEYS;
|
|
UPDATE `game_event_npc_vendor` SET `guid`=`new_guid`;
|
|
ALTER TABLE `game_event_npc_vendor` DROP COLUMN `new_guid`;
|
|
ALTER TABLE game_event_npc_vendor ENABLE KEYS;
|
|
ALTER TABLE game_event_npcflag DISABLE KEYS;
|
|
UPDATE `game_event_npcflag` SET `guid`=`new_guid`;
|
|
ALTER TABLE `game_event_npcflag` DROP COLUMN `new_guid`;
|
|
ALTER TABLE game_event_npcflag ENABLE KEYS;
|
|
ALTER TABLE `npc_gossip` DROP PRIMARY KEY;
|
|
UPDATE `npc_gossip` SET `npc_guid`=`new_guid`;
|
|
SELECT npc_guid,new_guid FROM npc_gossip;
|
|
ALTER TABLE `npc_gossip` DROP COLUMN `new_guid`;
|
|
ALTER TABLE `npc_gossip` ADD PRIMARY KEY(`npc_guid`);
|
|
ALTER TABLE game_event_model_equip DISABLE KEYS;
|
|
UPDATE `game_event_model_equip` SET `guid`=`new_guid`;
|
|
ALTER TABLE `game_event_model_equip` DROP COLUMN `new_guid`;
|
|
ALTER TABLE game_event_model_equip ENABLE KEYS;
|
|
ALTER TABLE `creature_addon` DROP PRIMARY KEY;
|
|
UPDATE `creature_addon` SET `guid`=`new_guid`;
|
|
ALTER TABLE `creature_addon` DROP COLUMN `new_guid`;
|
|
ALTER TABLE `creature_addon` ADD PRIMARY KEY(`guid`);
|
|
ALTER TABLE creature_formations DISABLE KEYS;
|
|
UPDATE `creature_formations` SET leaderGUID = new_guid_leader;
|
|
ALTER TABLE `creature_formations` DROP COLUMN `new_guid_leader`;
|
|
UPDATE `creature_formations` SET memberGUID = new_guid_member;
|
|
ALTER TABLE `creature_formations` DROP COLUMN `new_guid_member`;
|
|
ALTER TABLE creature_formations ENABLE KEYS;
|
|
ALTER TABLE `creature_linked_respawn` DROP PRIMARY KEY;
|
|
UPDATE `creature_linked_respawn` SET guid = new_guid;
|
|
ALTER TABLE `creature_linked_respawn` DROP COLUMN `new_guid`;
|
|
UPDATE `creature_linked_respawn` SET linkedGuid = new_linked_guid;
|
|
ALTER TABLE `creature_linked_respawn` DROP COLUMN `new_linked_guid`;
|
|
ALTER TABLE `creature_linked_respawn` ADD PRIMARY KEY(`guid`);
|
|
ALTER TABLE `game_event_creature` DROP PRIMARY KEY;
|
|
UPDATE `game_event_creature` SET guid = new_guid;
|
|
ALTER TABLE `game_event_creature` DROP COLUMN `new_guid`;
|
|
ALTER TABLE `game_event_creature` ADD PRIMARY KEY(`guid`);
|
|
ALTER TABLE pool_creature DISABLE KEYS;
|
|
UPDATE `pool_creature` SET guid = new_guid;
|
|
ALTER TABLE `pool_creature` DROP COLUMN `new_guid`;
|
|
ALTER TABLE pool_creature ENABLE KEYS;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_eai_cast_onspawn` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_eai_cast_onspawn`(IN npc_entry INT(10), spell_id MEDIUMINT(6))
|
|
BEGIN
|
|
CALL `sp_error_entry`('NPC',npc_entry);
|
|
UPDATE `creature_template` SET `AIName`= 'EventAI' WHERE `entry`=npc_entry;
|
|
|
|
CALL `sp_eai_select_id`(npc_entry,@event_id);
|
|
|
|
INSERT INTO `creature_ai_scripts` (`id`,`creature_id`,`event_type`,`event_inverse_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action1_type`,`action1_param1`,`action1_param2`,`action1_param3`,`action2_type`,`action2_param1`,`action2_param2`,`action2_param3`,`action3_type`,`action3_param1`,`action3_param2`,`action3_param3`,`comment`) VALUES
|
|
(@event_id,npc_entry,11,0,100,0,0,0,0,0,11,spell_id,0,0,0,0,0,0,0,0,0,0, 'Stored procedures eAI: NPC cast spell on self');
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_eai_inverse_phase_mask` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_eai_inverse_phase_mask`(IN max_phase INT, IN phase_list VARCHAR(255))
|
|
BEGIN
|
|
DECLARE max_phase_mask INT;
|
|
DECLARE phase_yes INT;
|
|
DECLARE inverse_phase_mask INT;
|
|
CALL `sp_eai_table_phase_mask`();
|
|
CALL `sp_set_entry_list`(phase_list, NULL);
|
|
SET max_phase_mask = (SELECT SUM(phase_mask) FROM phase_mask WHERE phaseID <= max_phase);
|
|
SET phase_yes = (SELECT SUM(phase_mask) FROM phase_mask WHERE phaseID IN (SELECT `value` FROM tdb_entry_list));
|
|
SET inverse_phase_mask = (max_phase_mask - phase_yes);
|
|
DROP TABLE `tdb_entry_list`;
|
|
DROP TABLE `phase_mask`;
|
|
IF inverse_phase_mask < 0 THEN
|
|
SELECT "PhaseID is bigger then maximum phase entered" AS `inverse_phase_mask`;
|
|
ELSE IF phase_list="0" THEN
|
|
SELECT 0 AS `inverse_phase_mask`;
|
|
ELSE
|
|
SELECT inverse_phase_mask;
|
|
END IF;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_eai_kill_ondeath` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_eai_kill_ondeath`(IN npc_entry INT(10), trigger_id INT(10))
|
|
BEGIN
|
|
CALL `sp_error_entry`('NPC',npc_entry);
|
|
UPDATE `creature_template` SET `AIName`= 'EventAI' WHERE `entry`=npc_entry;
|
|
|
|
CALL `sp_eai_select_id`(npc_entry, @event_id);
|
|
INSERT INTO `creature_ai_scripts` (`id`,`creature_id`,`event_type`,`event_inverse_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action1_type`,`action1_param1`,`action1_param2`,`action1_param3`,`action2_type`,`action2_param1`,`action2_param2`,`action2_param3`,`action3_type`,`action3_param1`,`action3_param2`,`action3_param3`,`comment`) VALUES
|
|
(@event_id,npc_entry,6,0,100,0,0,0,0,0,33,trigger_id,6,0,23,1,0,0,0,0,0,0, 'Stored procedures eAI: quest - kill trigger on NPC death');
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_eai_quest_credit_on_spellhit` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_eai_quest_credit_on_spellhit`(IN npc_entry INT(10), spell_id MEDIUMINT(6), trigger_id INT(10), despawn_time INT(10))
|
|
BEGIN
|
|
CALL `sp_error_entry`('NPC',npc_entry);
|
|
CALL `sp_error_trigger` (trigger_id);
|
|
UPDATE `creature_template` SET `AIName`= 'EventAI' WHERE `entry`=npc_entry;
|
|
|
|
CALL `sp_eai_select_id` (npc_entry, @event_id);
|
|
INSERT INTO `creature_ai_scripts` (`id`,`creature_id`,`event_type`,`event_inverse_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action1_type`,`action1_param1`,`action1_param2`,`action1_param3`,`action2_type`,`action2_param1`,`action2_param2`,`action2_param3`,`action3_type`,`action3_param1`,`action3_param2`,`action3_param3`,`comment`) VALUES
|
|
(@event_id,npc_entry,8,0,100,1,spell_ID,-1,0,0,33,trigger_ID,6,0,23,1,0,0,0,0,0,0, 'Stored procedures eAI: quest - kill trigger on spellcast');
|
|
INSERT INTO `creature_ai_scripts` (`id`,`creature_id`,`event_type`,`event_inverse_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action1_type`,`action1_param1`,`action1_param2`,`action1_param3`,`action2_type`,`action2_param1`,`action2_param2`,`action2_param3`,`action3_type`,`action3_param1`,`action3_param2`,`action3_param3`,`comment`) VALUES
|
|
(@event_id+1,npc_entry,1,1,100,0,despawn_time,despawn_time,despawn_time,despawn_time,41,0,0,0,0,0,0,0,0,0,0,0, 'Stored procedures eAI: despawn after defined time');
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_eai_select_id` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_eai_select_id`(IN npc_entry INT(10), OUT event_id INT(10))
|
|
BEGIN
|
|
CALL `sp_error_entry`('NPC',npc_entry);
|
|
SET event_id = (SELECT MAX(id)+1 FROM `creature_ai_scripts` WHERE `creature_id`=npc_entry);
|
|
DELETE FROM `creature_ai_scripts` WHERE `creature_id`=npc_entry AND `comment` LIKE "Stored procedures eAI%";
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_eai_spawn_spellhit` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_eai_spawn_spellhit`(IN npc_entry INT(10),IN spell_id MEDIUMINT(6),IN spawn_id INT(10),IN despawn_time INT(10))
|
|
BEGIN
|
|
CALL `sp_error_entry`('NPC',npc_entry);
|
|
CALL `sp_error_entry`('NPC',spawn_id);
|
|
UPDATE `creature_template` SET `AIName`= 'EventAI' WHERE `entry`=npc_entry;
|
|
CALL `sp_eai_select_id`(npc_entry,@event_id);
|
|
INSERT INTO `creature_ai_scripts` (`id`,`creature_id`,`event_type`,`event_inverse_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action1_type`,`action1_param1`,`action1_param2`,`action1_param3`,`action2_type`,`action2_param1`,`action2_param2`,`action2_param3`,`action3_type`,`action3_param1`,`action3_param2`,`action3_param3`,`comment`) VALUES
|
|
(@event_id,npc_entry,8,0,100,1,spell_id,-1,0,0,32,spawn_id,6,0,41,0,0,0,0,0,0,0, 'Stored procedures eAI: quest - summon mob on spellcast');
|
|
INSERT INTO `creature_ai_scripts` (`id`,`creature_id`,`event_type`,`event_inverse_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action1_type`,`action1_param1`,`action1_param2`,`action1_param3`,`action2_type`,`action2_param1`,`action2_param2`,`action2_param3`,`action3_type`,`action3_param1`,`action3_param2`,`action3_param3`,`comment`) VALUES
|
|
(@event_id+1,spawn_id,1,1,100,0,despawn_time,despawn_time,despawn_time,despawn_time,41,0,0,0,0,0,0,0,0,0,0,0, 'Stored procedures eAI: despawn after defined time');
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_eai_table_phase_mask` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_eai_table_phase_mask`()
|
|
BEGIN
|
|
|
|
CREATE TABLE `phase_mask`(
|
|
`phaseID` INT(2) NOT NULL DEFAULT '0' ,
|
|
`phase_mask` INT(11) UNSIGNED NOT NULL DEFAULT '0' ,
|
|
PRIMARY KEY (`phaseID`));
|
|
INSERT INTO phase_mask VALUES
|
|
(0,1),
|
|
(1,2),
|
|
(2,4),
|
|
(3,8),
|
|
(4,16),
|
|
(5,32),
|
|
(6,64),
|
|
(7,128),
|
|
(8,256),
|
|
(9,512),
|
|
(10,1024),
|
|
(11,2048),
|
|
(12,4096),
|
|
(13,8192),
|
|
(14,16384),
|
|
(15,32768),
|
|
(16,65536),
|
|
(17,131072),
|
|
(18,262144),
|
|
(19,524288),
|
|
(20,1048576),
|
|
(21,2097152),
|
|
(22,4194304),
|
|
(23,8388608),
|
|
(24,16777216),
|
|
(25,33554432),
|
|
(26,67108864),
|
|
(27,134217728),
|
|
(28,268435456),
|
|
(29,536870912),
|
|
(30,1073741824),
|
|
(31,2147483648);
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_error_entry` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_error_entry`(IN entry_type VARCHAR(10), IN e_entry INT(10))
|
|
BEGIN
|
|
DECLARE check_entry INT;
|
|
CASE UPPER(entry_type)
|
|
WHEN 'NPC' THEN
|
|
SET check_entry = (SELECT COUNT(`entry`) FROM `creature_template` WHERE `entry`=e_entry);
|
|
WHEN 'GO' THEN
|
|
SET check_entry = (SELECT COUNT(`entry`) FROM `gameobject_template` WHERE `entry`=e_entry);
|
|
WHEN 'ITEM' THEN
|
|
SET check_entry = (SELECT COUNT(`entry`) FROM `item_template` WHERE `entry`=e_entry);
|
|
WHEN 'QUEST' THEN
|
|
SET check_entry = (SELECT COUNT(`entry`) FROM `quest_template` WHERE `entry`=e_entry);
|
|
ELSE
|
|
CALL INCORRECT_ENTRY_TYPE;
|
|
END CASE;
|
|
|
|
IF check_entry=0 THEN
|
|
CALL INCORRECT_ENTRY;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_error_guid` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_error_guid`(IN guid_type VARCHAR(10),IN npc_or_go_guid INT(10))
|
|
BEGIN
|
|
DECLARE check_guid INT;
|
|
CASE UPPER(guid_type)
|
|
WHEN 'NPC' THEN
|
|
SET check_guid = (SELECT COUNT(`guid`) FROM `creature` WHERE `guid`=npc_or_go_guid);
|
|
WHEN 'GO' THEN
|
|
SET check_guid = (SELECT COUNT(`guid`) FROM `gameobject` WHERE `entry`=npc_or_go_entry);
|
|
ELSE
|
|
CALL INCORRECT_GUID_TYPE;
|
|
END CASE;
|
|
|
|
IF check_guid=0 THEN
|
|
CALL INCORRECT_CREATURE_OR_GO_GUID;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_error_trigger` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_error_trigger`(IN trigger_entry INT)
|
|
BEGIN
|
|
DECLARE Check_trigger INT;
|
|
SET Check_trigger = (SELECT COUNT(ReqCreatureOrGOId1) FROM `quest_template` WHERE `ReqCreatureOrGOId1`= trigger_entry)
|
|
+ (SELECT COUNT(ReqCreatureOrGOId2) FROM `quest_template` WHERE `ReqCreatureOrGOId2`= trigger_entry)
|
|
+ (SELECT COUNT(ReqCreatureOrGOId3) FROM `quest_template` WHERE `ReqCreatureOrGOId3`= trigger_entry)
|
|
+ (SELECT COUNT(ReqCreatureOrGOId4) FROM `quest_template` WHERE `ReqCreatureOrGOId4`= trigger_entry);
|
|
IF Check_trigger = 0 THEN
|
|
CALL NO_QUEST_WITH_REQUIREMENT();
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_get_go_lootid` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_get_go_lootid`(IN gobjID MEDIUMINT(6),OUT gobjLootID INT(10))
|
|
BEGIN
|
|
CALL `sp_error_entry`('GO',gobjID);
|
|
SELECT `data1` FROM `gameobject_template` WHERE `entry`=gobjID AND `type`=3 INTO gobjLootID;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_get_npc_diffentry` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_get_npc_diffentry`(IN normalEntry MEDIUMINT(5),IN difficulty TINYINT(1),OUT output MEDIUMINT(8))
|
|
BEGIN
|
|
CALL `sp_error_entry`('NPC',normalEntry);
|
|
CASE difficulty
|
|
WHEN 1 THEN BEGIN
|
|
SELECT `difficulty_entry_1` FROM `creature_template` WHERE `entry`=normalEntry INTO output;
|
|
END;
|
|
WHEN 2 THEN BEGIN
|
|
SELECT `difficulty_entry_2` FROM `creature_template` WHERE `entry`=normalEntry INTO output;
|
|
END;
|
|
WHEN 3 THEN BEGIN
|
|
SELECT `difficulty_entry_3` FROM `creature_template` WHERE `entry`=normalEntry INTO output;
|
|
END;
|
|
ELSE CALL INVALID_DIFFICULTY();
|
|
END CASE;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_get_ref_id` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_get_ref_id`(IN refType VARCHAR(10),OUT reference MEDIUMINT(5))
|
|
BEGIN
|
|
CASE UCASE(refType)
|
|
WHEN 'SKIN' THEN BEGIN
|
|
SET @Low :=00000;
|
|
SET @High :=1000;
|
|
END;
|
|
WHEN 'ITEM' THEN BEGIN
|
|
SET @Low :=10000;
|
|
SET @High :=10999;
|
|
END;
|
|
WHEN 'FISH' THEN BEGIN
|
|
SET @Low :=11000;
|
|
SET @High :=11799;
|
|
END;
|
|
WHEN 'MILL' THEN BEGIN
|
|
SET @Low :=11800;
|
|
SET @High :=11999;
|
|
END;
|
|
WHEN 'RAID_GOBJ' THEN BEGIN
|
|
SET @Low :=12000;
|
|
SET @High :=12899;
|
|
END;
|
|
WHEN 'MINE' THEN BEGIN
|
|
SET @Low :=12900;
|
|
SET @High :=12999;
|
|
END;
|
|
WHEN 'PROSPECT' THEN BEGIN
|
|
SET @Low :=13000;
|
|
SET @High :=13999;
|
|
END;
|
|
WHEN 'WORLD' THEN BEGIN
|
|
SET @Low :=14000;
|
|
SET @High :=29000;
|
|
END;
|
|
WHEN 'RAID_CRE' THEN BEGIN
|
|
SET @Low :=34000;
|
|
SET @High :=34999;
|
|
END;
|
|
WHEN 'DUNGEON' THEN BEGIN
|
|
SET @Low :=35000;
|
|
SET @High :=35999;
|
|
END;
|
|
ELSE CALL INVALID_REFERENCE_TYPE;
|
|
END CASE;
|
|
SET reference :=1+(SELECT `entry` FROM `reference_loot_template` WHERE `entry` BETWEEN @Low AND @High ORDER BY `entry` DESC LIMIT 1);
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_PetExtraLevelStats` */;;
|
|
/*!50003 SET SESSION SQL_MODE=""*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_PetExtraLevelStats`()
|
|
BEGIN
|
|
|
|
DECLARE intMaxHP INT DEFAULT 6553500;
|
|
DECLARE intMaxMana INT DEFAULT 6553500;
|
|
DECLARE intMaxArmor INT DEFAULT 6553500;
|
|
DECLARE intMaxStats INT DEFAULT 100000;
|
|
DECLARE sngHPInc FLOAT DEFAULT 0.05;
|
|
DECLARE sngManaInc FLOAT DEFAULT 0.05;
|
|
DECLARE sngArmorInc FLOAT DEFAULT 0.05;
|
|
DECLARE sngStatsInc FLOAT DEFAULT 0.015;
|
|
DECLARE intStartLvl INT DEFAULT 80;
|
|
DECLARE intFinishLvl INT DEFAULT 90;
|
|
|
|
DECLARE intRecordDone INT DEFAULT 0;
|
|
DECLARE intCreature INT DEFAULT 0;
|
|
DECLARE intLevel INT DEFAULT 0;
|
|
DECLARE intClass INT DEFAULT 0;
|
|
DECLARE intCurrHP INT DEFAULT 0;
|
|
DECLARE intCurrMana INT DEFAULT 0;
|
|
DECLARE intCurrArmor INT DEFAULT 0;
|
|
DECLARE intCurrSTR INT DEFAULT 0;
|
|
DECLARE intCurrAGI INT DEFAULT 0;
|
|
DECLARE intCurrSTA INT DEFAULT 0;
|
|
DECLARE intCurrINT INT DEFAULT 0;
|
|
DECLARE intCurrSPI INT DEFAULT 0;
|
|
|
|
DECLARE curPetStat CURSOR FOR SELECT `creature_entry`, `level`, `hp`, `mana`, `armor`, `str`, `agi`, `sta`, `inte`, `spi` FROM pet_levelstats;
|
|
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET intRecordDone = 1;
|
|
|
|
OPEN curPetStat;
|
|
|
|
REPEAT
|
|
|
|
FETCH curPetStat INTO intCreature, intLevel, intCurrHP, intCurrMana, intCurrArmor, intCurrSTR, intCurrAGI, intCurrSTA, intCurrINT, intCurrSPI;
|
|
|
|
IF intLevel = intStartLvl THEN
|
|
REPEAT
|
|
|
|
SET intLevel = intLevel + 1;
|
|
|
|
DELETE FROM pet_levelstats WHERE `creature_entry` = intCreature AND `level` = intLevel;
|
|
|
|
IF (ROUND(intCurrHP * (1 + sngHPInc) + 1)) <= intMaxHP THEN
|
|
SET intCurrHP = ROUND(intCurrHP * (1 + sngHPInc) + 100);
|
|
ELSE
|
|
SET intCurrHP = intMaxHP;
|
|
END IF;
|
|
|
|
IF (ROUND(intCurrMana * (1 + sngManaInc) + 1)) <= intMaxMana THEN
|
|
SET intCurrMana = ROUND(intCurrMana * (1 + sngManaInc) + 100);
|
|
ELSE
|
|
SET intCurrMana = intMaxMana;
|
|
END IF;
|
|
|
|
IF (ROUND(intCurrArmor * (1 + sngArmorInc) + 1)) <= intMaxArmor THEN
|
|
SET intCurrArmor = ROUND(intCurrArmor * (1 + sngArmorInc) + 800);
|
|
ELSE
|
|
SET intCurrArmor = intMaxArmor;
|
|
END IF;
|
|
|
|
IF (ROUND(intCurrSTR * (1 + sngStatsInc) + 1)) <= intMaxStats THEN
|
|
SET intCurrSTR = ROUND(intCurrSTR * (1 + sngStatsInc) + 10);
|
|
ELSE
|
|
SET intCurrSTR = intMaxStats;
|
|
END IF;
|
|
|
|
IF (ROUND(intCurrAGI * (1 + sngStatsInc) + 1)) <= intMaxStats THEN
|
|
SET intCurrAGI = ROUND(intCurrAGI * (1 + sngStatsInc) + 10);
|
|
ELSE
|
|
SET intCurrAGI = intMaxStats;
|
|
END IF;
|
|
|
|
IF (ROUND(intCurrSTA * (1 + sngStatsInc) + 1)) <= intMaxStats THEN
|
|
SET intCurrSTA = ROUND(intCurrSTA * (1 + sngStatsInc) + 10);
|
|
ELSE
|
|
SET intCurrSTA = intMaxStats;
|
|
END IF;
|
|
|
|
IF (ROUND(intCurrINT * (1 + sngStatsInc) + 1)) <= intMaxStats THEN
|
|
SET intCurrINT = ROUND(intCurrINT * (1 + sngStatsInc) + 10);
|
|
ELSE
|
|
SET intCurrINT = intMaxStats;
|
|
END IF;
|
|
|
|
IF (ROUND(intCurrSPI * (1 + sngStatsInc) + 1)) <= intMaxStats THEN
|
|
SET intCurrSPI = ROUND(intCurrSPI * (1 + sngStatsInc) + 10);
|
|
ELSE
|
|
SET intCurrSPI = intMaxStats;
|
|
END IF;
|
|
|
|
INSERT INTO pet_levelstats
|
|
(`creature_entry`, `level`, `hp`, `mana`, `armor`, `str`, `agi`, `sta`, `inte`, `spi`)
|
|
VALUES
|
|
(intCreature, intLevel, intCurrHP, intCurrMana, intCurrArmor, intCurrSTR, intCurrAGI, intCurrSTA, intCurrINT, intCurrSPI);
|
|
UNTIL intLevel = intFinishLvl END REPEAT;
|
|
END IF;
|
|
UNTIL intRecordDone END REPEAT;
|
|
|
|
CLOSE curPetStat;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_entry_list` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_entry_list`(IN input LONGTEXT,IN appendExisting BIT)
|
|
BEGIN
|
|
DECLARE cur_position INT DEFAULT 1;
|
|
DECLARE remainder TEXT;
|
|
DECLARE cur_string VARCHAR(10);
|
|
DECLARE entry_count MEDIUMINT;
|
|
IF appendExisting IS NULL OR appendExisting IS FALSE THEN
|
|
CREATE TABLE `tdb_entry_list` (`value` INT NOT NULL PRIMARY KEY) ENGINE=MYISAM;
|
|
END IF;
|
|
SET remainder = input;
|
|
WHILE CHAR_LENGTH(remainder) > 0 AND cur_position > 0 DO
|
|
SET cur_position = INSTR(remainder, ',');
|
|
IF cur_position = 0 THEN
|
|
SET cur_string = remainder;
|
|
ELSE
|
|
SET cur_string = LEFT(remainder, cur_position-1);
|
|
END IF;
|
|
IF TRIM(cur_string) != '' AND(SELECT COUNT(*) FROM `tdb_entry_list` WHERE `value`=cur_string)=0 THEN
|
|
INSERT INTO `tdb_entry_list` VALUES (cur_string);
|
|
END IF;
|
|
SET remainder = SUBSTRING(remainder, cur_position+1);
|
|
END WHILE;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_item_money` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_item_money`(IN item_entry INT, IN min_money INT, IN max_money INT)
|
|
BEGIN
|
|
CALL sp_error_entry('ITEM',item_entry);
|
|
UPDATE item_template SET minMoneyLoot=min_money, maxMoneyLoot=max_money WHERE entry = item_entry;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_item_money_bylist` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_item_money_bylist`(IN item_entry TEXT, IN min_money INT, IN max_money INT)
|
|
BEGIN
|
|
DECLARE remaining INT;
|
|
DECLARE min_entry INT;
|
|
CALL sp_set_entry_list(item_entry, NULL);
|
|
SET remaining = (SELECT COUNT(`value`) FROM tdb_entry_list);
|
|
WHILE remaining > 0 DO
|
|
SET min_entry = (SELECT MIN(`value`) FROM tdb_entry_list);
|
|
CALL sp_error_entry('ITEM',min_entry);
|
|
UPDATE item_template SET minMoneyLoot=min_money, maxMoneyLoot=max_money WHERE entry = min_entry;
|
|
DELETE FROM tdb_entry_list WHERE `value`=min_entry;
|
|
SET remaining = remaining -1;
|
|
END WHILE;
|
|
DROP TABLE `tdb_entry_list`;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_aggro` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_aggro`(IN creature_entry INT(10),IN on_off BOOLEAN)
|
|
BEGIN
|
|
CALL `sp_error_entry`('NPC',creature_entry);
|
|
IF on_off = 1 THEN
|
|
UPDATE `creature_template` SET `flags_extra`=`flags_extra`&~2 WHERE `entry`= creature_entry;
|
|
ELSE
|
|
UPDATE `creature_template` SET `flags_extra`=`flags_extra`|2 WHERE `entry`= creature_entry;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_aggro_bylist` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_aggro_bylist`(IN entry_list LONGTEXT,IN on_off BOOLEAN)
|
|
BEGIN
|
|
CALL `sp_set_entry_list` (entry_list,null);
|
|
IF on_off = 1 THEN
|
|
UPDATE `creature_template` SET `flags_extra`=`flags_extra`&~2 WHERE `entry` IN (SELECT * FROM `tdb_entry_list`);
|
|
ELSE
|
|
UPDATE `creature_template` SET `flags_extra`=`flags_extra`|2 WHERE `entry` IN (SELECT * FROM `tdb_entry_list`);
|
|
END IF;
|
|
DROP TABLE `tdb_entry_list`;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_attackable` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_attackable`(IN npc_entry INT, IN on_off BOOLEAN)
|
|
BEGIN
|
|
CALL sp_error_entry('NPC',npc_entry);
|
|
IF on_off = 1 THEN
|
|
UPDATE `creature_template` SET `unit_flags`=`unit_flags`|256 WHERE `entry`= npc_entry;
|
|
END IF;
|
|
IF on_off = 0 THEN
|
|
UPDATE `creature_template` SET `unit_flags`=`unit_flags`&~256 WHERE `entry`= npc_entry;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_attackable_bylist` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_attackable_bylist`(IN npc_entry TEXT, IN on_off BOOLEAN)
|
|
BEGIN
|
|
DECLARE remaining INT;
|
|
DECLARE min_entry INT;
|
|
CALL sp_set_entry_list(npc_entry, NULL);
|
|
SET remaining = (SELECT COUNT(`value`) FROM tdb_entry_list);
|
|
WHILE remaining > 0 DO
|
|
SET min_entry = (SELECT MIN(`value`) FROM tdb_entry_list);
|
|
CALL sp_error_entry('NPC',min_entry);
|
|
DELETE FROM tdb_entry_list WHERE `value`=min_entry;
|
|
SET remaining = remaining -1;
|
|
END WHILE;
|
|
CALL sp_set_entry_list(npc_entry, NULL);
|
|
SET remaining = (SELECT COUNT(`value`) FROM tdb_entry_list);
|
|
IF on_off = 1 THEN
|
|
WHILE remaining > 0 DO
|
|
SET min_entry = (SELECT MIN(`value`) FROM tdb_entry_list);
|
|
UPDATE `creature_template` SET `unit_flags`=`unit_flags`|256 WHERE `entry`= min_entry;
|
|
DELETE FROM tdb_entry_list WHERE `value`=min_entry;
|
|
SET remaining = remaining -1;
|
|
END WHILE;
|
|
END IF;
|
|
IF on_off = 0 THEN
|
|
WHILE remaining > 0 DO
|
|
SET min_entry = (SELECT MIN(`value`) FROM tdb_entry_list);
|
|
UPDATE `creature_template` SET `unit_flags`=`unit_flags`&~256 WHERE `entry`= min_entry;
|
|
DELETE FROM tdb_entry_list WHERE `value`=min_entry;
|
|
SET remaining = remaining -1;
|
|
END WHILE;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_civilian` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_civilian`(IN npc_entry INT(10), IN on_off BOOLEAN)
|
|
BEGIN
|
|
CALL sp_error_entry('NPC',npc_entry);
|
|
IF on_off = 1 THEN
|
|
UPDATE `creature_template` SET `flags_extra`=`flags_extra`|2 WHERE `entry`= npc_entry;
|
|
ELSEIF on_off = 0 THEN
|
|
UPDATE `creature_template` SET `flags_extra`=`flags_extra`&~2 WHERE `entry`= npc_entry;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_civilian_bylist` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_civilian_bylist`(IN npc_entry TEXT, IN on_off BOOLEAN)
|
|
BEGIN
|
|
|
|
DECLARE remaining INT;
|
|
DECLARE min_entry INT;
|
|
CALL sp_set_entry_list(npc_entry, NULL);
|
|
SET remaining = (SELECT COUNT(`value`) FROM tdb_entry_list);
|
|
WHILE remaining > 0 DO
|
|
SET min_entry = (SELECT MIN(`value`) FROM tdb_entry_list);
|
|
CALL sp_error_entry('NPC',min_entry);
|
|
DELETE FROM tdb_entry_list WHERE `value`=min_entry;
|
|
SET remaining = remaining -1;
|
|
END WHILE;
|
|
CALL sp_set_entry_list(npc_entry, NULL);
|
|
SET remaining = (SELECT COUNT(`value`) FROM tdb_entry_list);
|
|
CALL sp_set_entry_list(npc_entry, NULL);
|
|
SET remaining = (SELECT COUNT(`value`) FROM tdb_entry_list);
|
|
WHILE remaining > 0 DO
|
|
SET min_entry = (SELECT MIN(`value`) FROM tdb_entry_list);
|
|
CALL sp_error_entry('NPC',min_entry);
|
|
DELETE FROM tdb_entry_list WHERE `value`=min_entry;
|
|
SET remaining = remaining -1;
|
|
END WHILE;
|
|
CALL sp_set_entry_list(npc_entry, NULL);
|
|
SET remaining = (SELECT COUNT(`value`) FROM tdb_entry_list);
|
|
IF on_off = 1 THEN
|
|
WHILE remaining > 0 DO
|
|
SET min_entry = (SELECT MIN(`value`) FROM tdb_entry_list);
|
|
UPDATE `creature_template` SET `flags_extra`=`flags_extra`|2 WHERE `entry`= min_entry;
|
|
DELETE FROM tdb_entry_list WHERE `value`=min_entry;
|
|
SET remaining = remaining -1;
|
|
END WHILE;
|
|
END IF;
|
|
IF on_off = 0 THEN
|
|
WHILE remaining > 0 DO
|
|
SET min_entry = (SELECT MIN(`value`) FROM tdb_entry_list);
|
|
UPDATE `creature_template` SET `flags_extra`=`flags_extra`&~2 WHERE `entry`= min_entry;
|
|
DELETE FROM tdb_entry_list WHERE `value`=min_entry;
|
|
SET remaining = remaining -1;
|
|
END WHILE;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_deadquest` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_deadquest`(IN npc_entry INT(10))
|
|
BEGIN
|
|
DECLARE check_addon_exists INT;
|
|
CALL `sp_error_entry`('NPC',npc_entry);
|
|
UPDATE `creature` SET `MovementType`=0,`spawndist`=0,`Deathstate`=0 WHERE `id`=npc_entry;
|
|
UPDATE `creature_template` SET `flags_extra`=`flags_extra`|2 WHERE `entry`=npc_entry;
|
|
|
|
|
|
SET check_addon_exists = (SELECT COUNT(`entry`) FROM `creature_template_addon` WHERE `entry`=npc_entry);
|
|
IF check_addon_exists > 0 THEN
|
|
UPDATE `creature_template_addon` SET `bytes1`=7 WHERE `entry`=npc_entry;
|
|
ELSE
|
|
INSERT INTO `creature_template_addon` VALUES (npc_entry,0,0,7,0,0, '');
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_faction` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_faction`(IN npc_entry INT(10), factionA INT(10), factionH INT(10))
|
|
BEGIN
|
|
CALL `sp_error_entry`('NPC',npc_entry);
|
|
UPDATE `creature_template` SET `faction_A`=IFNULL(factionA,`faction_A`),`faction_H`=IFNULL(factionH,`faction_A`) WHERE `entry`=npc_entry;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_faction_bylist` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_faction_bylist`(IN entry_list LONGTEXT, factionA INT(10), factionH INT(10))
|
|
BEGIN
|
|
CALL `sp_set_entry_list` (entry_list,null);
|
|
UPDATE `creature_template` SET `faction_A`=IFNULL(factionA,`faction_A`),`faction_H`=IFNULL(factionH,`faction_A`) WHERE `entry` IN (SELECT * FROM `tdb_entry_list`);
|
|
DROP TABLE `tdb_entry_list`;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_lootable` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_lootable`(IN npc_entry INT(10), IN on_off BOOLEAN)
|
|
BEGIN
|
|
CALL sp_error_entry('NPC',npc_entry);
|
|
IF on_off = 1 THEN
|
|
UPDATE `creature_template` SET `dynamicflags`=`dynamicflags`&~1 WHERE `entry`= npc_entry;
|
|
ELSEIF on_off = 0 THEN
|
|
UPDATE `creature_template` SET `dynamicflags`=`dynamicflags`|1 WHERE `entry`= npc_entry;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_lootable_bylist` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_lootable_bylist`(IN npc_entry TEXT, IN on_off BOOLEAN)
|
|
BEGIN
|
|
|
|
DECLARE remaining INT;
|
|
DECLARE min_entry INT;
|
|
CALL sp_set_entry_list(npc_entry, NULL);
|
|
SET remaining = (SELECT COUNT(`value`) FROM tdb_entry_list);
|
|
WHILE remaining > 0 DO
|
|
SET min_entry = (SELECT MIN(`value`) FROM tdb_entry_list);
|
|
CALL sp_error_entry('NPC',min_entry);
|
|
DELETE FROM tdb_entry_list WHERE `value`=min_entry;
|
|
SET remaining = remaining -1;
|
|
END WHILE;
|
|
CALL sp_set_entry_list(npc_entry, NULL);
|
|
SET remaining = (SELECT COUNT(`value`) FROM tdb_entry_list);
|
|
CALL sp_set_entry_list(npc_entry, NULL);
|
|
SET remaining = (SELECT COUNT(`value`) FROM tdb_entry_list);
|
|
WHILE remaining > 0 DO
|
|
SET min_entry = (SELECT MIN(`value`) FROM tdb_entry_list);
|
|
CALL sp_error_entry('NPC',min_entry);
|
|
DELETE FROM tdb_entry_list WHERE `value`=min_entry;
|
|
SET remaining = remaining -1;
|
|
END WHILE;
|
|
CALL sp_set_entry_list(npc_entry, NULL);
|
|
SET remaining = (SELECT COUNT(`value`) FROM tdb_entry_list);
|
|
IF on_off = 1 THEN
|
|
WHILE remaining > 0 DO
|
|
SET min_entry = (SELECT MIN(`value`) FROM tdb_entry_list);
|
|
UPDATE `creature_template` SET `dynamicflags`=`dynamicflags`&~1 WHERE `entry`= min_entry;
|
|
DELETE FROM tdb_entry_list WHERE `value`=min_entry;
|
|
SET remaining = remaining -1;
|
|
END WHILE;
|
|
END IF;
|
|
IF on_off = 0 THEN
|
|
WHILE remaining > 0 DO
|
|
SET min_entry = (SELECT MIN(`value`) FROM tdb_entry_list);
|
|
UPDATE `creature_template` SET `dynamicflags`=`dynamicflags`|1 WHERE `entry`= min_entry;
|
|
DELETE FROM tdb_entry_list WHERE `value`=min_entry;
|
|
SET remaining = remaining -1;
|
|
END WHILE;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_lootid` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_lootid`(IN npcEntry MEDIUMINT(5),IN lootID MEDIUMINT(5))
|
|
BEGIN
|
|
CALL `sp_error_entry`('NPC',npcEntry);
|
|
UPDATE `creature_template` SET `lootid`=IFNULL(lootID,npcEntry) WHERE `entry`=npcEntry;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_lootid_bylist` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_lootid_bylist`(IN entryList LONGTEXT,IN lootID MEDIUMINT(5))
|
|
BEGIN
|
|
CALL `sp_set_entry_list` (entryList,null);
|
|
UPDATE `creature_template` SET `lootid`=IFNULL(lootID,`entry`) WHERE `entry` IN (SELECT DISTINCT * FROM `tdb_entry_list`);
|
|
|
|
DROP TABLE `tdb_entry_list`;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_lootid_bytable` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_lootid_bytable`(IN lootID MEDIUMINT(5))
|
|
BEGIN
|
|
UPDATE `creature_template` SET `lootid`=IFNULL(lootID,`entry`) WHERE `entry` IN (SELECT DISTINCT * FROM `tdb_entry_list`);
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_path` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_path`(IN npc_guid INT(10),OUT path INT(10))
|
|
BEGIN
|
|
CALL `sp_error_guid`('NPC',npc_guid);
|
|
|
|
SELECT npc_guid*10 INTO path;
|
|
UPDATE `creature` SET `MovementType`=2,`spawndist`=0 WHERE `guid`=npc_guid;
|
|
IF (SELECT COUNT(*) FROM `creature_addon` WHERE `guid`=npc_guid) > 0 THEN
|
|
UPDATE `creature_addon` SET `path_id`=path WHERE `guid`=npc_guid;
|
|
ELSE
|
|
INSERT INTO `creature_addon` (`guid`,`path_id`) VALUES (npc_guid,path);
|
|
END IF;
|
|
|
|
DELETE FROM `waypoint_data` WHERE `id`=path;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_selectable` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_selectable`(IN npc_entry INT(10),IN on_off BOOLEAN)
|
|
BEGIN
|
|
CALL `sp_error_entry`('NPC',npc_entry);
|
|
IF on_off=1 THEN
|
|
UPDATE `creature_template` SET `unit_flags`=`unit_flags`&~33554432 WHERE `entry`=npc_entry;
|
|
ELSE
|
|
UPDATE `creature_template` SET `unit_flags`=`unit_flags`|33554432 WHERE `entry`=npc_entry;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_selectable_bylist` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_selectable_bylist`(IN entry_list LONGTEXT,IN on_off BOOLEAN)
|
|
BEGIN
|
|
CALL `sp_set_entry_list` (entry_list,null);
|
|
IF on_off=1 THEN
|
|
UPDATE `creature_template` SET `unit_flags`=`unit_flags`&~33554432 WHERE `entry` IN (SELECT * FROM `tdb_entry_list`);
|
|
ELSE
|
|
UPDATE `creature_template` SET `unit_flags`=`unit_flags`|33554432 WHERE `entry` IN (SELECT * FROM `tdb_entry_list`);
|
|
END IF;
|
|
DROP TABLE `tdb_entry_list`;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_targetable` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_targetable`(IN npc_entry INT(10), IN on_off BOOLEAN)
|
|
BEGIN
|
|
CALL sp_error_entry('NPC',npc_entry);
|
|
IF on_off = 1 THEN
|
|
UPDATE `creature_template` SET `unit_flags`=`unit_flags`&~33554432 WHERE `entry`= npc_entry;
|
|
ELSEIF on_off = 0 THEN
|
|
UPDATE `creature_template` SET `unit_flags`=`unit_flags`|33554432 WHERE `entry`= npc_entry;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_targetable_bylist` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_targetable_bylist`(IN npc_entry TEXT, IN on_off BOOLEAN)
|
|
BEGIN
|
|
|
|
DECLARE remaining INT;
|
|
DECLARE min_entry INT;
|
|
CALL sp_set_entry_list(npc_entry, NULL);
|
|
SET remaining = (SELECT COUNT(`value`) FROM tdb_entry_list);
|
|
WHILE remaining > 0 DO
|
|
SET min_entry = (SELECT MIN(`value`) FROM tdb_entry_list);
|
|
CALL sp_error_entry('NPC',min_entry);
|
|
DELETE FROM tdb_entry_list WHERE `value`=min_entry;
|
|
SET remaining = remaining -1;
|
|
END WHILE;
|
|
CALL sp_set_entry_list(npc_entry, NULL);
|
|
SET remaining = (SELECT COUNT(`value`) FROM tdb_entry_list);
|
|
CALL sp_set_entry_list(npc_entry, NULL);
|
|
SET remaining = (SELECT COUNT(`value`) FROM tdb_entry_list);
|
|
IF on_off = 1 THEN
|
|
WHILE remaining > 0 DO
|
|
SET min_entry = (SELECT MIN(`value`) FROM tdb_entry_list);
|
|
UPDATE `creature_template` SET `unit_flags`=`unit_flags`&~33554432 WHERE `entry`= min_entry;
|
|
DELETE FROM tdb_entry_list WHERE `value`=min_entry;
|
|
SET remaining = remaining -1;
|
|
END WHILE;
|
|
END IF;
|
|
IF on_off = 0 THEN
|
|
WHILE remaining > 0 DO
|
|
SET min_entry = (SELECT MIN(`value`) FROM tdb_entry_list);
|
|
UPDATE `creature_template` SET `unit_flags`=`unit_flags`|33554432 WHERE `entry`= min_entry;
|
|
DELETE FROM tdb_entry_list WHERE `value`=min_entry;
|
|
SET remaining = remaining -1;
|
|
END WHILE;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_trigger` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_trigger`(IN npc_entry INT(10),IN on_off BOOLEAN)
|
|
BEGIN
|
|
CALL `sp_error_entry`('NPC',npc_entry);
|
|
IF on_off=1 THEN
|
|
UPDATE `creature` SET `spawndist`=0,`MovementType`=0 WHERE `id`=npc_entry;
|
|
UPDATE `creature_template` SET `flags_extra`=`flags_extra`|2,`unit_flags`=`unit_flags`|33554432 WHERE `entry`=npc_entry;
|
|
ELSE
|
|
UPDATE `creature_template` SET `flags_extra`=`flags_extra`&~2,`unit_flags`=`unit_flags`&~33554432 WHERE `entry`=npc_entry;
|
|
END IF;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_npc_trigger_bylist` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_npc_trigger_bylist`(IN entry_list LONGTEXT,IN on_off BOOLEAN)
|
|
BEGIN
|
|
CALL `sp_set_entry_list` (entry_list,null);
|
|
IF on_off=1 THEN
|
|
UPDATE `creature` SET `spawndist`=0,`MovementType`=0 WHERE `id` IN (SELECT * FROM `tdb_entry_list`);
|
|
UPDATE `creature_template` SET `flags_extra`=`flags_extra`|2,`unit_flags`=`unit_flags`|33554432 WHERE `entry` IN (SELECT * FROM `tdb_entry_list`);
|
|
ELSE
|
|
UPDATE `creature_template` SET `flags_extra`=`flags_extra`&~2,`unit_flags`=`unit_flags`&~33554432 WHERE `entry` IN (SELECT * FROM `tdb_entry_list`);
|
|
END IF;
|
|
DROP TABLE `tdb_entry_list`;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_quest_level` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_quest_level`(IN quest_entry INT(10), IN quest_level INT(10))
|
|
BEGIN
|
|
CALL `sp_error_entry`('QUEST',quest_entry);
|
|
UPDATE `quest_template` SET `MinLevel`= quest_level WHERE `entry`= quest_entry;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_quest_next` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_quest_next`(IN quest_entry INT(10), IN next_quest INT(10))
|
|
BEGIN
|
|
CALL `sp_error_entry`('QUEST',quest_entry);
|
|
UPDATE `quest_template` SET `NextQuestId`= next_quest WHERE `entry`= quest_entry;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_quest_previous` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_quest_previous`(IN quest_entry INT(10), IN prev_quest INT(10))
|
|
BEGIN
|
|
CALL `sp_error_entry`('QUEST',quest_entry);
|
|
UPDATE `quest_template` SET `PrevQuestId`= prev_quest WHERE `entry`= quest_entry;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
/*!50003 DROP PROCEDURE IF EXISTS `sp_set_spell_target` */;;
|
|
/*!50003 SET SESSION SQL_MODE="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"*/;;
|
|
/*!50003 CREATE*/ /*!50003 PROCEDURE `sp_set_spell_target`(IN target_type VARCHAR(10),IN target_entry INT(11),IN spell_id INT(11))
|
|
BEGIN
|
|
CASE UCASE(target_type)
|
|
WHEN 'GO' THEN BEGIN
|
|
IF target_entry > 0 THEN
|
|
CALL `sp_error_entry`('GO',target_entry);
|
|
END IF;
|
|
DELETE FROM `spell_script_target` WHERE `entry`=spell_id;
|
|
INSERT INTO `spell_script_target`(`entry`,`type`,`targetEntry`) VALUES (spell_id,0,target_entry);
|
|
END;
|
|
WHEN 'NPC' THEN BEGIN
|
|
IF target_entry > 0 THEN
|
|
CALL `sp_error_entry`('NPC',target_entry);
|
|
END IF;
|
|
DELETE FROM `spell_script_target` WHERE `entry`=spell_id;
|
|
INSERT INTO `spell_script_target`(`entry`,`type`,`targetEntry`) VALUES (spell_id,1,target_entry);
|
|
END;
|
|
WHEN 'DEAD_NPC' THEN BEGIN
|
|
CALL `sp_error_entry`('NPC',target_entry);
|
|
DELETE FROM `spell_script_target` WHERE `entry`=spell_id;
|
|
INSERT INTO `spell_script_target`(`entry`,`type`,`targetEntry`) VALUES (spell_id,2,target_entry);
|
|
END;
|
|
WHEN 'MINION' THEN BEGIN
|
|
CALL `sp_error_entry`('NPC',target_entry);
|
|
DELETE FROM `spell_script_target` WHERE `entry`=spell_id;
|
|
INSERT INTO `spell_script_target`(`entry`,`type`,`targetEntry`) VALUES (spell_id,3,target_entry);
|
|
END;
|
|
ELSE CALL INCORRECT_TARGET_TYPE;
|
|
END CASE;
|
|
END */;;
|
|
/*!50003 SET SESSION SQL_MODE=@OLD_SQL_MODE*/;;
|
|
DELIMITER ;
|
|
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
|
|
|
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
|
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
|
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
|
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
|
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|