-
Notifications
You must be signed in to change notification settings - Fork 403
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Updated both load and drop sqls for bots..added a 'deprecated' load f…
…or pre-pp blob conversion databases..the auto-conversion code will catch this if the server is updated to a newer version. (Had a really nice load script coded..but, the supported version of MySQL doesn't support 'TEMPORARY' procedures, nor commit commands from 'PREPARE(d)' statements... :( )
- Loading branch information
Showing
5 changed files
with
570 additions
and
292 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,280 @@ | ||
-- 'load_bots_old' sql script file | ||
-- current as of 10/15/2014 | ||
-- | ||
-- Use this file on databases where the player profile blob has not been converted | ||
-- | ||
-- Note: This file assumes a database free of bot remnants. If you have a prior | ||
-- bot installation and wish to reload the default schema and entries, then | ||
-- source 'drop_bots.sql' before sourcing this file. | ||
|
||
|
||
ALTER TABLE `guild_members` DROP PRIMARY KEY; | ||
ALTER TABLE `group_id` DROP PRIMARY KEY, ADD PRIMARY KEY USING BTREE(`groupid`, `charid`, `name`, `ismerc`); | ||
|
||
UPDATE `spawn2` SET `enabled` = 1 WHERE `id` IN (59297,59298); | ||
|
||
-- old command kept for reference (`commands` now only has 2 columns - `command` and `access`) | ||
-- INSERT INTO `commands` VALUES ('bot', '0', 'Type \"#bot help\" to the see the list of available commands for bots.'); | ||
INSERT INTO `commands` VALUES ('bot', '0'); | ||
|
||
INSERT INTO `rule_values` VALUES | ||
('1', 'Bots:BotAAExpansion', '8', 'The expansion through which bots will obtain AAs'), | ||
('1', 'Bots:BotFinishBuffing', 'false', 'Allow for buffs to complete even if the bot caster is out of mana. Only affects buffing out of combat.'), | ||
('1', 'Bots:BotGroupBuffing', 'false', 'Bots will cast single target buffs as group buffs, default is false for single. Does not make single target buffs work for MGB.'), | ||
('1', 'Bots:BotManaRegen', '3.0', 'Adjust mana regen for bots, 1 is fast and higher numbers slow it down 3 is about the same as players.'), | ||
('1', 'Bots:BotQuest', 'false', 'Optional quest method to manage bot spawn limits using the quest_globals name bot_spawn_limit, see: /bazaar/Aediles_Thrall.pl'), | ||
('1', 'Bots:BotSpellQuest', 'false', 'Anita Thrall\'s (Anita_Thrall.pl) Bot Spell Scriber quests.'), | ||
('1', 'Bots:CreateBotCount', '150', 'Number of bots that each account can create'), | ||
('1', 'Bots:SpawnBotCount', '71', 'Number of bots a character can have spawned at one time, You + 71 bots is a 12 group raid'); | ||
|
||
CREATE TABLE `bots` ( | ||
`BotID` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, | ||
`BotOwnerCharacterID` INT(10) UNSIGNED NOT NULL, | ||
`BotSpellsID` INT(10) UNSIGNED NOT NULL DEFAULT '0', | ||
`Name` VARCHAR(64) NOT NULL, | ||
`LastName` VARCHAR(32) DEFAULT NULL, | ||
`BotLevel` TINYINT(2) UNSIGNED NOT NULL DEFAULT '0', | ||
`Race` SMALLINT(5) NOT NULL DEFAULT '0', | ||
`Class` TINYINT(2) NOT NULL DEFAULT '0', | ||
`Gender` TINYINT(2) NOT NULL DEFAULT '0', | ||
`Size` FLOAT NOT NULL DEFAULT '0', | ||
`Face` INT(10) NOT NULL DEFAULT '1', | ||
`LuclinHairStyle` INT(10) NOT NULL DEFAULT '1', | ||
`LuclinHairColor` INT(10) NOT NULL DEFAULT '1', | ||
`LuclinEyeColor` INT(10) NOT NULL DEFAULT '1', | ||
`LuclinEyeColor2` INT(10) NOT NULL DEFAULT '1', | ||
`LuclinBeardColor` INT(10) NOT NULL DEFAULT '1', | ||
`LuclinBeard` INT(10) NOT NULL DEFAULT '0', | ||
`DrakkinHeritage` INT(10) NOT NULL DEFAULT '0', | ||
`DrakkinTattoo` INT(10) NOT NULL DEFAULT '0', | ||
`DrakkinDetails` INT(10) NOT NULL DEFAULT '0', | ||
`HP` INTEGER NOT NULL DEFAULT '0', | ||
`Mana` INTEGER NOT NULL DEFAULT '0', | ||
`MR` SMALLINT(5) NOT NULL DEFAULT '0', | ||
`CR` SMALLINT(5) NOT NULL DEFAULT '0', | ||
`DR` SMALLINT(5) NOT NULL DEFAULT '0', | ||
`FR` SMALLINT(5) NOT NULL DEFAULT '0', | ||
`PR` SMALLINT(5) NOT NULL DEFAULT '0', | ||
`Corrup` SMALLINT(5) NOT NULL DEFAULT '0', | ||
`AC` SMALLINT(5) NOT NULL DEFAULT '0', | ||
`STR` MEDIUMINT(8) NOT NULL DEFAULT '75', | ||
`STA` MEDIUMINT(8) NOT NULL DEFAULT '75', | ||
`DEX` MEDIUMINT(8) NOT NULL DEFAULT '75', | ||
`AGI` MEDIUMINT(8) NOT NULL DEFAULT '75', | ||
`_INT` MEDIUMINT(8) NOT NULL DEFAULT '80', | ||
`WIS` MEDIUMINT(8) NOT NULL DEFAULT '75', | ||
`CHA` MEDIUMINT(8) NOT NULL DEFAULT '75', | ||
`ATK` MEDIUMINT(9) NOT NULL DEFAULT '0', | ||
`BotCreateDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, | ||
`LastSpawnDate` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', | ||
`TotalPlayTime` INT(10) UNSIGNED NOT NULL DEFAULT '0', | ||
`LastZoneId` SMALLINT(6) NOT NULL DEFAULT '0', | ||
`BotInspectMessage` VARCHAR(256) NOT NULL DEFAULT '', | ||
PRIMARY KEY (`BotID`) | ||
) ENGINE=InnoDB; | ||
|
||
CREATE TABLE `botstances` ( | ||
`BotID` INT(10) UNSIGNED NOT NULL DEFAULT '0', | ||
`StanceID` TINYINT UNSIGNED NOT NULL DEFAULT '0', | ||
PRIMARY KEY (`BotID`), | ||
CONSTRAINT `FK_botstances_1` FOREIGN KEY (`BotID`) REFERENCES `bots` (`BotID`) | ||
); | ||
|
||
CREATE TABLE `bottimers` ( | ||
`BotID` INT(10) UNSIGNED NOT NULL DEFAULT '0', | ||
`TimerID` INT(10) UNSIGNED NOT NULL DEFAULT '0', | ||
`Value` INT(10) UNSIGNED NOT NULL DEFAULT '0', | ||
PRIMARY KEY (`BotID`), | ||
CONSTRAINT `FK_bottimers_1` FOREIGN KEY (`BotID`) REFERENCES `bots` (`BotID`) | ||
); | ||
|
||
CREATE TABLE `botbuffs` ( | ||
`BotBuffId` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, | ||
`BotId` INT(10) UNSIGNED NOT NULL DEFAULT '0', | ||
`SpellId` INT(10) UNSIGNED NOT NULL DEFAULT '0', | ||
`CasterLevel` INT(10) UNSIGNED NOT NULL DEFAULT '0', | ||
`DurationFormula` INT(10) UNSIGNED NOT NULL DEFAULT '0', | ||
`TicsRemaining` INT(11) UNSIGNED NOT NULL DEFAULT '0', | ||
`PoisonCounters` INT(11) UNSIGNED NOT NULL DEFAULT '0', | ||
`DiseaseCounters` INT(11) UNSIGNED NOT NULL DEFAULT '0', | ||
`CurseCounters` INT(11) UNSIGNED NOT NULL DEFAULT '0', | ||
`CorruptionCounters` INT(11) UNSIGNED NOT NULL DEFAULT '0', | ||
`HitCount` INT(10) UNSIGNED NOT NULL DEFAULT '0', | ||
`MeleeRune` INT(10) UNSIGNED NOT NULL DEFAULT '0', | ||
`MagicRune` INT(10) UNSIGNED NOT NULL DEFAULT '0', | ||
`DeathSaveSuccessChance` INT(10) UNSIGNED NOT NULL DEFAULT '0', | ||
`CasterAARank` INT(10) UNSIGNED NOT NULL DEFAULT '0', | ||
`Persistent` TINYINT(1) NOT NULL DEFAULT '0', | ||
PRIMARY KEY (`BotBuffId`), | ||
KEY `FK_botbuff_1` (`BotId`), | ||
CONSTRAINT `FK_botbuff_1` FOREIGN KEY (`BotId`) REFERENCES `bots` (`BotID`) | ||
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1; | ||
|
||
CREATE TABLE `botinventory` ( | ||
`BotInventoryID` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, | ||
`BotID` INTEGER UNSIGNED NOT NULL DEFAULT '0', | ||
`SlotID` INTEGER SIGNED NOT NULL DEFAULT '0', | ||
`ItemID` INTEGER UNSIGNED NOT NULL DEFAULT '0', | ||
`charges` TINYINT(3) UNSIGNED DEFAULT 0, | ||
`color` INTEGER UNSIGNED NOT NULL DEFAULT 0, | ||
`augslot1` MEDIUMINT(7) UNSIGNED NOT NULL DEFAULT 0, | ||
`augslot2` MEDIUMINT(7) UNSIGNED NOT NULL DEFAULT 0, | ||
`augslot3` MEDIUMINT(7) UNSIGNED NOT NULL DEFAULT 0, | ||
`augslot4` MEDIUMINT(7) UNSIGNED NOT NULL DEFAULT 0, | ||
`augslot5` MEDIUMINT(7) UNSIGNED DEFAULT 0, | ||
`instnodrop` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, | ||
PRIMARY KEY (`BotInventoryID`), | ||
KEY `FK_botinventory_1` (`BotID`), | ||
CONSTRAINT `FK_botinventory_1` FOREIGN KEY (`BotID`) REFERENCES `bots` (`BotID`) | ||
) ENGINE=InnoDB; | ||
|
||
CREATE TABLE `botpets` ( | ||
`BotPetsId` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, | ||
`PetId` INTEGER UNSIGNED NOT NULL DEFAULT '0', | ||
`BotId` INTEGER UNSIGNED NOT NULL DEFAULT '0', | ||
`Name` VARCHAR(64) NULL, | ||
`Mana` INTEGER NOT NULL DEFAULT '0', | ||
`HitPoints` INTEGER NOT NULL DEFAULT '0', | ||
PRIMARY KEY (`BotPetsId`), | ||
KEY `FK_botpets_1` (`BotId`), | ||
CONSTRAINT `FK_botpets_1` FOREIGN KEY (`BotId`) REFERENCES `bots` (`BotID`), | ||
CONSTRAINT `U_botpets_1` UNIQUE (`BotId`) | ||
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1; | ||
|
||
CREATE TABLE `botpetbuffs` ( | ||
`BotPetBuffId` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, | ||
`BotPetsId` INT(10) UNSIGNED NOT NULL DEFAULT '0', | ||
`SpellId` INT(10) UNSIGNED NOT NULL DEFAULT '0', | ||
`CasterLevel` INT(10) UNSIGNED NOT NULL DEFAULT '0', | ||
`Duration` INT(11) UNSIGNED NOT NULL DEFAULT '0', | ||
PRIMARY KEY (`BotPetBuffId`), | ||
KEY `FK_botpetbuffs_1` (`BotPetsId`), | ||
CONSTRAINT `FK_botpetbuffs_1` FOREIGN KEY (`BotPetsId`) REFERENCES `botpets` (`BotPetsID`) | ||
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1; | ||
|
||
CREATE TABLE `botpetinventory` ( | ||
`BotPetInventoryId` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, | ||
`BotPetsId` INTEGER UNSIGNED NOT NULL DEFAULT '0', | ||
`ItemId` INTEGER UNSIGNED NOT NULL DEFAULT '0', | ||
PRIMARY KEY (`BotPetInventoryId`), | ||
KEY `FK_botpetinventory_1` (`BotPetsId`), | ||
CONSTRAINT `FK_botpetinventory_1` FOREIGN KEY (`BotPetsId`) REFERENCES `botpets` (`BotPetsID`) | ||
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1; | ||
|
||
CREATE TABLE `botgroup` ( | ||
`BotGroupId` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, | ||
`BotGroupLeaderBotId` INTEGER UNSIGNED NOT NULL DEFAULT '0', | ||
`BotGroupName` VARCHAR(64) NOT NULL, | ||
PRIMARY KEY (`BotGroupId`), | ||
KEY `FK_botgroup_1` (`BotGroupLeaderBotId`), | ||
CONSTRAINT `FK_botgroup_1` FOREIGN KEY (`BotGroupLeaderBotId`) REFERENCES `bots` (`BotID`) | ||
) ENGINE=InnoDB; | ||
|
||
CREATE TABLE `botgroupmembers` ( | ||
`BotGroupMemberId` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, | ||
`BotGroupId` INTEGER UNSIGNED NOT NULL DEFAULT '0', | ||
`BotId` INTEGER UNSIGNED NOT NULL DEFAULT '0', | ||
PRIMARY KEY (`BotGroupMemberId`), | ||
KEY `FK_botgroupmembers_1` (`BotGroupId`), | ||
CONSTRAINT `FK_botgroupmembers_1` FOREIGN KEY (`BotGroupId`) REFERENCES `botgroup` (`BotGroupId`), | ||
KEY `FK_botgroupmembers_2` (`BotId`), | ||
CONSTRAINT `FK_botgroupmembers_2` FOREIGN KEY (`BotId`) REFERENCES `bots` (`BotID`) | ||
) ENGINE=InnoDB; | ||
|
||
CREATE TABLE `botguildmembers` ( | ||
`char_id` INT(11) NOT NULL DEFAULT '0', | ||
`guild_id` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0', | ||
`rank` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0', | ||
`tribute_enable` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0', | ||
`total_tribute` INT(10) UNSIGNED NOT NULL DEFAULT '0', | ||
`last_tribute` INT(10) UNSIGNED NOT NULL DEFAULT '0', | ||
`banker` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0', | ||
`public_note` TEXT NULL, | ||
`alt` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0', | ||
PRIMARY KEY (`char_id`) | ||
) ENGINE=InnoDB; | ||
|
||
DELIMITER // | ||
|
||
CREATE FUNCTION `GetMobType` (mobname VARCHAR(64)) RETURNS CHAR(1) | ||
BEGIN | ||
DECLARE Result CHAR(1); | ||
|
||
SET Result = NULL; | ||
|
||
IF (SELECT COUNT(*) FROM `character_` WHERE `name` = mobname) > 0 THEN | ||
SET Result = 'C'; | ||
ELSEIF (SELECT COUNT(*) FROM `bots` WHERE `Name` = mobname) > 0 THEN | ||
SET Result = 'B'; | ||
END IF; | ||
|
||
RETURN Result; | ||
END// | ||
|
||
DELIMITER ; | ||
|
||
CREATE VIEW `vwbotcharactermobs` AS | ||
SELECT _utf8'C' AS mobtype, | ||
c.`id`, | ||
c.`name`, | ||
c.`class`, | ||
c.`level`, | ||
c.`timelaston`, | ||
c.`zoneid` | ||
FROM `character_` AS c | ||
UNION ALL | ||
SELECT _utf8'B' AS mobtype, | ||
b.`BotID` AS id, | ||
b.`Name` AS name, | ||
b.`Class` AS class, | ||
b.`BotLevel` AS level, | ||
0 AS timelaston, | ||
0 AS zoneid | ||
FROM bots AS b; | ||
|
||
CREATE VIEW `vwgroups` AS | ||
SELECT g.`groupid` AS groupid, | ||
GetMobType(g.`name`) AS mobtype, | ||
g.`name` AS name, | ||
g.`charid` AS mobid, | ||
IFNULL(c.`level`, b.`BotLevel`) AS level | ||
FROM `group_id` AS g | ||
LEFT JOIN `character_` AS c ON g.`name` = c.`name` | ||
LEFT JOIN `bots` AS b ON g.`name` = b.`Name`; | ||
|
||
CREATE VIEW `vwbotgroups` AS | ||
SELECT g.`BotGroupId`, | ||
g.`BotGroupName`, | ||
g.`BotGroupLeaderBotId`, | ||
b.`Name` AS BotGroupLeaderName, | ||
b.`BotOwnerCharacterId`, | ||
c.`name` AS BotOwnerCharacterName | ||
FROM `botgroup` AS g | ||
JOIN `bots` AS b ON g.`BotGroupLeaderBotId` = b.`BotID` | ||
JOIN `character_` AS c ON b.`BotOwnerCharacterID` = c.`id` | ||
ORDER BY b.`BotOwnerCharacterId`, g.`BotGroupName`; | ||
|
||
CREATE VIEW `vwguildmembers` AS | ||
SELECT 'C' AS mobtype, | ||
cm.`char_id`, | ||
cm.`guild_id`, | ||
cm.`rank`, | ||
cm.`tribute_enable`, | ||
cm.`total_tribute`, | ||
cm.`last_tribute`, | ||
cm.`banker`, | ||
cm.`public_note`, | ||
cm.`alt` | ||
FROM `guild_members` AS cm | ||
UNION ALL | ||
SELECT 'B' AS mobtype, | ||
bm.`char_id`, | ||
bm.`guild_id`, | ||
bm.`rank`, | ||
bm.`tribute_enable`, | ||
bm.`total_tribute`, | ||
bm.`last_tribute`, | ||
bm.`banker`, | ||
bm.`public_note`, | ||
bm.`alt` | ||
FROM `botguildmembers` AS bm; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,37 @@ | ||
DROP TABLE IF EXISTS `botbuffs`; | ||
-- 'drop_bots' sql script file | ||
-- current as of 10/15/2014 | ||
-- | ||
-- Note: This file will revert all changes made by either 'load_bots' sql file. | ||
-- There may still be remnants of bot activity in tables `guild_members` and | ||
-- `group_id`. If these entries are causing issues, you may need to manually | ||
-- remove them. | ||
|
||
|
||
ALTER TABLE `guild_members` ADD PRIMARY KEY (`char_id`); | ||
ALTER TABLE `group_id` DROP PRIMARY KEY, ADD PRIMARY KEY (`groupid`, `charid`, `ismerc`); | ||
|
||
UPDATE `spawn2` SET `enabled` = 0 WHERE `id` IN (59297,59298); | ||
|
||
DELETE FROM `commands` WHERE `command` = 'bot'; | ||
DELETE FROM `rule_values` WHERE `rule_name` LIKE 'Bots%'; | ||
|
||
DROP VIEW IF EXISTS `vwbotcharactermobs`; | ||
DROP VIEW IF EXISTS `vwbotgroups`; | ||
DROP VIEW IF EXISTS `vwgroups`; | ||
DROP VIEW IF EXISTS `vwguildmembers`; | ||
|
||
DROP FUNCTION IF EXISTS `GetMobType`; | ||
|
||
DROP TABLE IF EXISTS `botguildmembers`; | ||
DROP TABLE IF EXISTS `botgroupmembers`; | ||
-- this table is not a part of 'load_bots.sql' | ||
DROP TABLE IF EXISTS `botgroups`; | ||
DROP TABLE IF EXISTS `botgroup`; | ||
DROP TABLE IF EXISTS `botpetinventory`; | ||
DROP TABLE IF EXISTS `botpetbuffs`; | ||
DROP TABLE IF EXISTS `botpets`; | ||
DROP TABLE IF EXISTS `botgroupmembers`; | ||
DROP TABLE IF EXISTS `botgroup`; | ||
DROP TABLE IF EXISTS `botgroups`; | ||
DROP TABLE IF EXISTS `botinventory`; | ||
DROP TABLE IF EXISTS `botguildmembers`; | ||
DROP TABLE IF EXISTS `botstances`; | ||
DROP TABLE IF EXISTS `botbuffs`; | ||
DROP TABLE IF EXISTS `bottimers`; | ||
DROP TABLE IF EXISTS `botstances`; | ||
DROP TABLE IF EXISTS `bots`; | ||
DROP VIEW IF EXISTS `vwGuildMembers`; | ||
DROP VIEW IF EXISTS `vwBotCharacterMobs`; | ||
DROP VIEW IF EXISTS `vwBotGroups`; | ||
|
||
delete from rule_values where rule_name like 'Bots%' and ruleset_id = 1; | ||
|
||
delete from commands where command = 'bot'; | ||
|
||
update spawn2 set enabled = 0 where id in (59297,59298); |
Oops, something went wrong.