mirror of
https://github.com/ACEmulator/ACE
synced 2026-08-17 12:26:06 -04:00
* Object overhaul - clean up enums (#337) * Give property enums a static value to aviod positional fubar later on. Cleaned up using. * Cleaning up enums * Fixed Line ending update change log. * Review & Comment only || Object overhaul - POC (#339) * Give property enums a static value to aviod positional fubar later on. Cleaned up using. * Cleaning up enums * Fixed Line ending update change log. * Added new positionType * Started work on implementing object overhaul - want to make sure I am heading in the right direction. * Minor clean up, responded to feedback and fixed a few bugs. Thanks for the second and third set of eyes. * Object Overhaul - ready for review and merge. Still Work in Progress but a good spot. (#341) * Give property enums a static value to aviod positional fubar later on. Cleaned up using. * Cleaning up enums * Fixed Line ending update change log. * Added new positionType * Started work on implementing object overhaul - want to make sure I am heading in the right direction. * Minor clean up, responded to feedback and fixed a few bugs. Thanks for the second and third set of eyes. * Continued work. Please review as these are a LOT of manual changes. Compiles and you can log in. * Continued work. I have all of the items pulling from properties now. Still work to make baseAceObject and AceObject on thing / finish work around workmanship and actually kick the tires and start pulling data. Sorry this is taking so long. * Had time for a few more and cleaned up whitespace. * Good point to check in. All of the property tables are hooked up and loading data. I created the workmanship hackery we discussed. As always comments and suggestions much appreciated. * One quick shot to fix appveyor before bed. * * Continued work on Overhaul * Created mapping cross reference file to faciltate docuatation and cleaning up names - work in progress https://goo.gl/eaaNQb * Created new database schema for world_object - modified mysqlinstall.bat to refect new baseline * created script to ETL old schema to new schema. I have not included it as we will be refactoring the initial data load to use the new * schema according to Ripley. I have the script tested and posted on my dropbox if anyone wants it. I also have a complete data dump that * zips down to a manageable size. * BaseAceObject is now using the new schema * I re-hooked up telepoi to use the new schema. Still to do, convert to constructed statement * Next steps - refactor AceObject and make sure world objects load again. * Once that is complete - start same process using clone of this schema for character as discussed. * renabled more data loading. * Continued work on hooking data back up. Working on moveto debug command - this creates a world object. Not quite there yet. * WIP * Making progress. Test object able to be spwaned from new schema. Still to do, renable constructed statements, clean up and re-enable the other constructed statements. * updated worldbase * * Intital work done for new schema. Rebased and removed update sql files. (#353) * Tested and the auto setting of Physics and Weenie Header Flags looks really solid. Side note, the values we have * in the database for weenieHeaderFlags and PhysicsDescriptionFlag should probably be dropped we don't read them or use them now. * Doors, portals NPC's and signs are all back in the world now. * I would suggest we remearge with the main branch sooner rather than later - we can create another branch to introduce these * changes into the character side. * TODO items: * Creature spawns need to be refactored - I left them commented out. We need to ditch seperate tables that we have now, I think all * creature can use what we have now, plus maybe two additional world tables. Everything else fits into the current schema. * Test Ripley data and update ACE_World. * Refactor portals - I just left the old way in and faked it out with a view. * Once this looks good and stable and we fix any found bugs - we need to clone this over to the character database and start refactoring * That will get us to persisted inventory. * Objects - Game data refactored - issue with character login (#355) * wip * WIP - character login is trying to persist a world object * Still throwing an exception on player login. * Working Code - finished GameData - need to complete PhysicsData and ModelData. Thanks to @Lidefeath for finding my issue. * WIP compiles but has error on run. Data changes have broken something. Will fix tomorrow. * Wip - nothing really working yet. I can log in but item creation is not working. * Objects (#357) * wip * WIP - character login is trying to persist a world object * Still throwing an exception on player login. * Working Code - finished GameData - need to complete PhysicsData and ModelData. Thanks to @Lidefeath for finding my issue. * WIP compiles but has error on run. Data changes have broken something. Will fix tomorrow. * Wip - nothing really working yet. I can log in but item creation is not working. * Best attempt stabbed (#358) * wip 1 * wip 2 * wip 3 * wip 3 * i think thats it for now. good luck! * Read cached characters and launch to char list (#360) * First corrections and commenting out so the start to command line works * The basics for launching to character list is working. * Edit config.json for AppVeyor * Rework Base SQL scripts. (#361) Expect broken execution until views are corrected for ace_shard * Cleaning up error list (#362) Clearing stylecop issues and warnings in Error List * ACE Enum adjustments (#363) * More Enum Adjustments (#364) * More Enum Adjustments * Further Enum Refinement * Changed Enum Value * More Enum and Object Realignment (#365) * Adding Enums to better align with AC standards. GroupTypeChat and AccessLevel will be converted to these. * Object level changes to go with enum resorting * Extend ORM to allow aggregate functions i.e. MAX(column) and (#366) * Extend ORM to allow aggregate functions i.e. MAX(column) and implement GetNextCharacterId * For AppVeyor, thanks @ogmage78 for the sql * Implements IsCharacterNameAvailable and fixes some errors in the chargen code. (#367) * Character Loading (#368) * Cleaned up some whitespace issues. Still understanding the direction. * WIP added enums for PropertyAttribute * Wip got a lot of aceCharacter done - working on position - about 1/2 done. * WIP - Ace Character Loading. * Intital work done for loading character from ace_shard. Rebased and removed update sql files. * Tested up to position loading. Made changes to position, but have not loaded the dictionary yet. * Fixed a few bugs - attribute loading had a few. * TODO items: * Finish up loading positions then see what is left. * Work on saving as OptimShi - has character creation ready to go. * Fixed for rebase and apveyor * Hand wrote view per request and removed unneeded position. * Read character creation values from client_portal.dat (#369) * Read character creation values from client_portal.dat and assign to appropriate Character Properties * Added AceCharacter properties for the character appearance data * More fun in Zombieland - character loading. (#370) * [Og II] * Continued work loading character from ace_shard. Rebased * Added cascade delete to all child tables in ace_shard. * Completed and tested up to skillz loading. Made a few changes on the db side for key consistancy. * TODO items: * Finish up loading - spells, friends, allegiance info, spell comps, spell bars etc. etc.... * Fixed bug in setXXXProperty methods with the add new. Was not setting the AceObjectId * Fixed auto inc and unsealed position class and made aceObjectId virtual again. * SaveObject implemented in ShardDatabase.cs (#371) * First steps of SaveObject * Hopefully I didn't bork anything too hard. * Character creation -- data present on save appears to make its way to the DB. Thanks to Lidefeath for the starter here. * Removed all references to SaveCharacterOptions -- replace with SaveObject(). * Removed all references to SaveCharacterOptions -- replace with SaveObject(). * Cleanup of DbGetListAttribute (#372) * First steps of SaveObject * Hopefully I didn't bork anything too hard. * Character creation -- data present on save appears to make its way to the DB. Thanks to Lidefeath for the starter here. * Removed all references to SaveCharacterOptions -- replace with SaveObject(). * Removed all references to SaveCharacterOptions -- replace with SaveObject(). * Reworked DbGetListAttribute, got rid of hacky code. * Forgot to remove sloppy comments from refactoring. * Create Database.cs * Fix the "You do not own this character" error. (#373) * Refactoring, save/restore progress on object overhaul (#375) * First steps of SaveObject * added todo * Hopefully I didn't bork anything too hard. * Character creation -- data present on save appears to make its way to the DB. Thanks to Lidefeath for the starter here. * Removed all references to SaveCharacterOptions -- replace with SaveObject(). * Removed all references to SaveCharacterOptions -- replace with SaveObject(). * Working on player login. Getting closer. At SendSelf in player.cs * Reworked DbGetListAttribute, got rid of hacky code. * Forgot to remove sloppy comments from refactoring. * Create Database.cs * Continued work on character login. A little closer - we can get into the world now. Please see change log for list of outstanding items. * Can log in, and walk around. Some properties still wrong. Still need to submit several DB level fixes. * Many fixups/bugfixes. Positions now save. Character logs in. Game doesn't crash. Can open multiple sessions. (some) ORM issues fixed Issues: World Objects still don't appear in game. Race found in ShardDatabase (commented) * Minor cleanups. * Object overhaul (#376) * First steps of SaveObject * added todo * Hopefully I didn't bork anything too hard. * Character creation -- data present on save appears to make its way to the DB. Thanks to Lidefeath for the starter here. * Removed all references to SaveCharacterOptions -- replace with SaveObject(). * Removed all references to SaveCharacterOptions -- replace with SaveObject(). * Working on player login. Getting closer. At SendSelf in player.cs * Reworked DbGetListAttribute, got rid of hacky code. * Forgot to remove sloppy comments from refactoring. * Create Database.cs * Continued work on character login. A little closer - we can get into the world now. Please see change log for list of outstanding items. * Can log in, and walk around. Some properties still wrong. Still need to submit several DB level fixes. * Many fixups/bugfixes. Positions now save. Character logs in. Game doesn't crash. Can open multiple sessions. (some) ORM issues fixed Issues: World Objects still don't appear in game. Race found in ShardDatabase (commented) * Properly load Data Id instances. Objects now "spawn" in-world, but don't interact properly. * Fixes to worldbase vw_teleport_location, player description, character handler. Player now gets proper stats and can teleportpoi. Vital inital values are off. * Sets options on load. May be bad/broken. Need to seriously think how AceObject/AceCharacter and WorldObject/Player should interact. We don't do that well now. * Fix to attribute2nd, using uint24 instead of uint16 for value (because monster's health can get huuuge). * Position refactor into backend object AceObjectPropertiesPosition and front-end object Position. * * fixed issues with the weenieHeaderFlags setting method, fixed PhysicsDescriptionFlag setting issue as well. * cleaned up and rebased data scripts for WorldBase and ShardBase * Found issue in my data that was ETL to our new schema - had two flag fields Reversed - that is fixed but would be no issue * once we have Ripley's new data export. I have shared out a link to the cleaned up data for use while we finish the new export. * https://www.dropbox.com/s/pohcruvalt9s38h/WorldandShardData.zip?dl=0 * I put in a nasty hack - hard coded weenieClassId on character save - it was being set to 0 and I could not find it. I marked with with a todo. * player.cs line 490 * Create Landblock.cs * Updated changelog * Fear the Walking Dead - More work on our object overhaul - bug fixes and continued work (#377) * Testing - fixed a few null reference check errors. Added in OptimShi player apperance code. * added back code needed for ci * Sending DataId and InstanceId data to character description. * Forgot to update change log * Added Ripley's changes to scheam * Create ShardBase.sql * Create WorldBase.sql * Made requested changes * Lord BucketHead - temp fix. Added start of equipping items and POC code (#378) * * Added getting and setting ContainerID and Wielder into AceObject and surfaced in worldObject * Put in a hack to show how equiped weapons and shields work. We will need to establish a place to store this data. * I put in big TODO to indentify the hack - it is benign and will not impact anything else other than to demo the placement * of the spear in Rand the Game Hunters hand in Holtburg. * Modified SetPhysicsDescriptionFlags so it can be container and weilder aware. * Worked with OptimShi and we put in a fix for Lord BucketHead. * Found and fixed one more bug with hair styles * Update Player.cs removed comment that was out of date. * SQL Scripts Re-based (#379) * SQL Scripts Rebased * More alignment of base DB script. * Final SQL script rebase * Code cleanup and a few bug fixes. (#380) * Code cleanup and a few bug fixes. Working to trello card. Board updated. * Added first part of wield item. * Update to remove class diagram * Update GameActionGetAndWieldItem.cs * Update GameEventWieldItem.cs * Fixed Position Saving. (#381) * Fixed Position Saving. * Fixed other minor character initialization bugs * Cleanup backing AceObject (#382) * Reworked AceObject/Player/WorldObject to better repsect AceObject as a unit backing. * Enough cleanup to commit. Fixed vitals (Attribute2nd) in the process. * Fixed bad rebase errors. Appears to work now. Can confirm vitals (Attribute2nds) initialize well, and can be raised. * Fixed bug with player creation and made a bunch of comments and notes about things I discovered so they would not get lost. (#383)
420 lines
18 KiB
SQL
420 lines
18 KiB
SQL
CREATE DATABASE IF NOT EXISTS `ace_world` /*!40100 DEFAULT CHARACTER SET utf8 */;
|
|
USE `ace_world`;
|
|
-- MySQL dump 10.13 Distrib 5.7.12, for Win64 (x86_64)
|
|
--
|
|
-- Host: localhost Database: ace_world
|
|
-- ------------------------------------------------------
|
|
-- Server version 5.7.17-log
|
|
|
|
/*!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 */;
|
|
|
|
--
|
|
-- Table structure for table `ace_object`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ace_object`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ace_object` (
|
|
`aceObjectId` int(10) unsigned NOT NULL,
|
|
`aceObjectDescriptionFlags` int(10) unsigned NOT NULL,
|
|
`weenieClassId` int(10) unsigned NOT NULL,
|
|
`weenieHeaderFlags` int(10) unsigned DEFAULT NULL,
|
|
`physicsDescriptionFlag` int(10) unsigned DEFAULT NULL,
|
|
`currentMotionState` text DEFAULT NULL,
|
|
PRIMARY KEY (`aceObjectId`),
|
|
KEY `idx_weenie` (`weenieClassId`),
|
|
CONSTRAINT `fk_weenie_ao` FOREIGN KEY (`weenieClassId`) REFERENCES `ace_weenie_class` (`weenieClassId`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `ace_object_animation_change`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ace_object_animation_change`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ace_object_animation_change` (
|
|
`aceObjectId` int(10) unsigned NOT NULL,
|
|
`index` tinyint(3) unsigned NOT NULL,
|
|
`animationId` int(10) unsigned NOT NULL,
|
|
PRIMARY KEY (`aceObjectId`,`index`),
|
|
CONSTRAINT `FK_ace_object_animation_changes__baseAceObjectId` FOREIGN KEY (`aceObjectId`) REFERENCES `ace_object` (`aceObjectId`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `ace_object_palette_change`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ace_object_palette_change`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ace_object_palette_change` (
|
|
`aceObjectId` int(10) unsigned NOT NULL,
|
|
`subPaletteId` int(10) unsigned NOT NULL,
|
|
`offset` smallint(5) unsigned NOT NULL,
|
|
`length` smallint(5) unsigned zerofill NOT NULL,
|
|
PRIMARY KEY (`aceObjectId`,`subPaletteId`,`offset`,`length`),
|
|
CONSTRAINT `FK_ace_object_palette_data__baseAceObjectId` FOREIGN KEY (`aceObjectId`) REFERENCES `ace_object` (`aceObjectId`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `ace_object_properties_attribute`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ace_object_properties_attribute`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ace_object_properties_attribute` (
|
|
`aceObjectId` int(10) unsigned NOT NULL,
|
|
`attributeId` smallint(4) unsigned NOT NULL,
|
|
`attributeBase` smallint(4) unsigned NOT NULL DEFAULT '0',
|
|
`attributeRanks` tinyint(2) unsigned NOT NULL DEFAULT '0',
|
|
`attributeXpSpent` int(10) unsigned NOT NULL DEFAULT '0',
|
|
PRIMARY KEY (`aceObjectId`,`attributeId`),
|
|
UNIQUE KEY `ace_object__property_attribute_id` (`aceObjectId`,`attributeId`),
|
|
CONSTRAINT `fk_Prop_Attribute_AceObject` FOREIGN KEY (`aceObjectId`) REFERENCES `ace_object` (`aceObjectId`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `ace_object_properties_attribute2nd`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ace_object_properties_attribute2nd`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ace_object_properties_attribute2nd` (
|
|
`aceObjectId` int(10) unsigned NOT NULL,
|
|
`attribute2ndId` smallint(4) unsigned NOT NULL,
|
|
`attribute2ndValue` mediumint(7) unsigned NOT NULL DEFAULT '0',
|
|
`attribute2ndRanks` tinyint(2) unsigned NOT NULL DEFAULT '0',
|
|
`attribute2ndXpSpent` int(10) unsigned NOT NULL DEFAULT '0',
|
|
PRIMARY KEY (`aceObjectId`,`attribute2ndId`),
|
|
UNIQUE KEY `ace_object__property_attribute2nd_id` (`aceObjectId`,`attribute2ndId`),
|
|
CONSTRAINT `fk_Prop_Attribute2nd_AceObject` FOREIGN KEY (`aceObjectId`) REFERENCES `ace_object` (`aceObjectId`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `ace_object_properties_bigint`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ace_object_properties_bigint`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ace_object_properties_bigint` (
|
|
`aceObjectId` int(10) unsigned NOT NULL DEFAULT '0',
|
|
`bigIntPropertyId` smallint(5) unsigned NOT NULL DEFAULT '0',
|
|
`propertyValue` bigint(20) unsigned NOT NULL DEFAULT '0',
|
|
UNIQUE KEY `ace_object__property_bigint_id` (`aceObjectId`,`bigIntPropertyId`),
|
|
KEY `aceObjectId` (`aceObjectId`),
|
|
CONSTRAINT `fk_Prop_BigInt_AceObject` FOREIGN KEY (`aceObjectId`) REFERENCES `ace_object` (`aceObjectId`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `ace_object_properties_bool`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ace_object_properties_bool`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ace_object_properties_bool` (
|
|
`aceObjectId` int(10) unsigned NOT NULL DEFAULT '0',
|
|
`boolPropertyId` smallint(5) unsigned NOT NULL DEFAULT '0',
|
|
`propertyValue` tinyint(1) NOT NULL DEFAULT '0',
|
|
UNIQUE KEY `ace_object__property_bool_id` (`aceObjectId`,`boolPropertyId`),
|
|
KEY `aceObjectId` (`aceObjectId`),
|
|
CONSTRAINT `fk_Prop_Bool_Ace_object` FOREIGN KEY (`aceObjectId`) REFERENCES `ace_object` (`aceObjectId`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `ace_object_properties_did`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ace_object_properties_did`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ace_object_properties_did` (
|
|
`aceObjectId` int(10) unsigned NOT NULL DEFAULT '0',
|
|
`didPropertyId` smallint(5) unsigned NOT NULL DEFAULT '0',
|
|
`propertyValue` int(10) unsigned NOT NULL DEFAULT '0',
|
|
UNIQUE KEY `ace_object__property_did_id` (`aceObjectId`,`didPropertyId`),
|
|
KEY `aceObjectId` (`aceObjectId`),
|
|
CONSTRAINT `fk_Prop_Did_AceObject` FOREIGN KEY (`aceObjectId`) REFERENCES `ace_object` (`aceObjectId`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `ace_object_properties_double`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ace_object_properties_double`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ace_object_properties_double` (
|
|
`aceObjectId` int(10) unsigned NOT NULL DEFAULT '0',
|
|
`dblPropertyId` smallint(5) unsigned NOT NULL DEFAULT '0',
|
|
`propertyValue` double NOT NULL DEFAULT '0',
|
|
UNIQUE KEY `ace_object__property_double_id` (`aceObjectId`,`dblPropertyId`),
|
|
KEY `aceObjectId` (`aceObjectId`),
|
|
CONSTRAINT `fk_Prop_Dbl_AceObject` FOREIGN KEY (`aceObjectId`) REFERENCES `ace_object` (`aceObjectId`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `ace_object_properties_iid`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ace_object_properties_iid`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ace_object_properties_iid` (
|
|
`aceObjectId` int(10) unsigned NOT NULL DEFAULT '0',
|
|
`iidPropertyId` smallint(5) unsigned NOT NULL DEFAULT '0',
|
|
`propertyValue` int(10) unsigned NOT NULL DEFAULT '0',
|
|
UNIQUE KEY `ace_object__property_iid_id` (`aceObjectId`,`iidPropertyId`),
|
|
KEY `aceObjectId` (`aceObjectId`),
|
|
CONSTRAINT `fk_Prop_Iid_AceObject` FOREIGN KEY (`aceObjectId`) REFERENCES `ace_object` (`aceObjectId`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `ace_object_properties_int`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ace_object_properties_int`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ace_object_properties_int` (
|
|
`aceObjectId` int(10) unsigned NOT NULL DEFAULT '0',
|
|
`intPropertyId` smallint(5) unsigned NOT NULL DEFAULT '0',
|
|
`propertyValue` int(10) unsigned NOT NULL DEFAULT '0',
|
|
UNIQUE KEY `ace_object__property_int_id` (`aceObjectId`,`intPropertyId`),
|
|
KEY `aceObjectId` (`aceObjectId`),
|
|
CONSTRAINT `fk_Prop_Int_AceObject` FOREIGN KEY (`aceObjectId`) REFERENCES `ace_object` (`aceObjectId`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `ace_object_properties_spell`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ace_object_properties_spell`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ace_object_properties_spell` (
|
|
`aceObjectId` int(10) unsigned NOT NULL DEFAULT '0',
|
|
`spellId` int(10) unsigned NOT NULL DEFAULT '0',
|
|
UNIQUE KEY `ace_object__property_spell_id` (`spellId`,`aceObjectId`),
|
|
KEY `aceObjectId` (`aceObjectId`),
|
|
CONSTRAINT `fk_Prop_Spell_AceObject` FOREIGN KEY (`aceObjectId`) REFERENCES `ace_object` (`aceObjectId`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `ace_object_properties_string`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ace_object_properties_string`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ace_object_properties_string` (
|
|
`aceObjectId` int(10) unsigned NOT NULL DEFAULT '0',
|
|
`strPropertyId` smallint(5) unsigned NOT NULL DEFAULT '0',
|
|
`propertyValue` text NOT NULL,
|
|
UNIQUE KEY `ace_object__property_string_id` (`aceObjectId`,`strPropertyId`),
|
|
KEY `aceObjectId` (`aceObjectId`),
|
|
CONSTRAINT `fk_Prop_Str_AceObject` FOREIGN KEY (`aceObjectId`) REFERENCES `ace_object` (`aceObjectId`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `ace_object_texture_map_change`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ace_object_texture_map_change`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ace_object_texture_map_change` (
|
|
`aceObjectId` int(10) unsigned NOT NULL,
|
|
`index` tinyint(3) unsigned NOT NULL,
|
|
`oldId` int(10) unsigned NOT NULL,
|
|
`newId` int(10) unsigned NOT NULL,
|
|
PRIMARY KEY (`aceObjectId`,`index`,`oldId`),
|
|
CONSTRAINT `FK_ace_object_texture_map_changes__baseAceObjectId` FOREIGN KEY (`aceObjectId`) REFERENCES `ace_object` (`aceObjectId`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `ace_poi`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ace_poi`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ace_poi` (
|
|
`name` text NOT NULL,
|
|
`positionId` int(10) unsigned NOT NULL,
|
|
PRIMARY KEY (`name`(100)),
|
|
UNIQUE KEY `idx_poi` (`positionId`),
|
|
CONSTRAINT `fk_poi_position` FOREIGN KEY (`positionId`) REFERENCES `ace_position` (`positionId`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `ace_position`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ace_position`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ace_position` (
|
|
`positionId` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`aceObjectId` int(10) unsigned DEFAULT NULL,
|
|
`positionType` smallint(5) unsigned NOT NULL,
|
|
`landblockRaw` int(10) unsigned NOT NULL,
|
|
`landblock` smallint(5) unsigned GENERATED ALWAYS AS (conv(left(hex(`landblockRaw`),4),16,10)) STORED,
|
|
`cell` smallint(5) unsigned GENERATED ALWAYS AS (conv(lpad(substr(hex(`landblockRaw`),5,4),4,'0'),16,10)) STORED,
|
|
`posX` float NOT NULL,
|
|
`posY` float NOT NULL,
|
|
`posZ` float NOT NULL,
|
|
`qW` float NOT NULL,
|
|
`qX` float NOT NULL,
|
|
`qY` float NOT NULL,
|
|
`qZ` float NOT NULL,
|
|
PRIMARY KEY (`positionId`),
|
|
KEY `idx_aceObjectId` (`aceObjectId`),
|
|
KEY `idx_landblock` (`landblockRaw`),
|
|
KEY `idxPostionType` (`positionType`),
|
|
CONSTRAINT `fk_position_ao` FOREIGN KEY (`aceObjectId`) REFERENCES `ace_object` (`aceObjectId`) ON DELETE CASCADE
|
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Table structure for table `ace_weenie_class`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `ace_weenie_class`;
|
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
/*!40101 SET character_set_client = utf8 */;
|
|
CREATE TABLE `ace_weenie_class` (
|
|
`weenieClassId` int(10) unsigned NOT NULL,
|
|
`weenieClassDescription` text NOT NULL,
|
|
PRIMARY KEY (`weenieClassId`),
|
|
UNIQUE KEY `idx_weenieName` (`weenieClassDescription`(100))
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
|
|
--
|
|
-- Temporary view structure for view `vw_ace_object`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `vw_ace_object`;
|
|
/*!50001 DROP VIEW IF EXISTS `vw_ace_object`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `vw_ace_object` AS SELECT
|
|
1 AS `aceObjectId`,
|
|
1 AS `name`,
|
|
1 AS `weenieClassId`,
|
|
1 AS `currentMotionState`,
|
|
1 AS `weenieClassDescription`,
|
|
1 AS `aceObjectDescriptionFlags`,
|
|
1 AS `physicsDescriptionFlag`,
|
|
1 AS `weenieHeaderFlags`,
|
|
1 AS `itemType`,
|
|
1 AS `positionId`,
|
|
1 AS `positionType`,
|
|
1 AS `LandblockRaw`,
|
|
1 AS `landblock`,
|
|
1 AS `cell`,
|
|
1 AS `posX`,
|
|
1 AS `posY`,
|
|
1 AS `posZ`,
|
|
1 AS `qW`,
|
|
1 AS `qX`,
|
|
1 AS `qY`,
|
|
1 AS `qZ`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Temporary view structure for view `vw_teleport_location`
|
|
--
|
|
|
|
DROP TABLE IF EXISTS `vw_teleport_location`;
|
|
/*!50001 DROP VIEW IF EXISTS `vw_teleport_location`*/;
|
|
SET @saved_cs_client = @@character_set_client;
|
|
SET character_set_client = utf8;
|
|
/*!50001 CREATE VIEW `vw_teleport_location` AS SELECT
|
|
1 AS `name`,
|
|
1 AS `landblock`,
|
|
1 AS `posX`,
|
|
1 AS `posY`,
|
|
1 AS `posZ`,
|
|
1 AS `qW`,
|
|
1 AS `qX`,
|
|
1 AS `qY`,
|
|
1 AS `qZ`*/;
|
|
SET character_set_client = @saved_cs_client;
|
|
|
|
--
|
|
-- Final view structure for view `vw_ace_object`
|
|
--
|
|
|
|
/*!50001 DROP VIEW IF EXISTS `vw_ace_object`*/;
|
|
/*!50001 SET @saved_cs_client = @@character_set_client */;
|
|
/*!50001 SET @saved_cs_results = @@character_set_results */;
|
|
/*!50001 SET @saved_col_connection = @@collation_connection */;
|
|
/*!50001 SET character_set_client = utf8 */;
|
|
/*!50001 SET character_set_results = utf8 */;
|
|
/*!50001 SET collation_connection = utf8_general_ci */;
|
|
/*!50001 CREATE ALGORITHM=UNDEFINED */
|
|
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
|
|
/*!50001 VIEW `vw_ace_object` AS select `ao`.`aceObjectId` AS `aceObjectId`,`aops`.`propertyValue` AS `name`,`ao`.`weenieClassId` AS `weenieClassId`,`ao`.`currentMotionState` AS `currentMotionState`,`awc`.`weenieClassDescription` AS `weenieClassDescription`,`ao`.`aceObjectDescriptionFlags` AS `aceObjectDescriptionFlags`,`ao`.`physicsDescriptionFlag` AS `physicsDescriptionFlag`,`ao`.`weenieHeaderFlags` AS `weenieHeaderFlags`,`aopi`.`propertyValue` AS `itemType`,`ap`.`positionId` AS `positionId`,`ap`.`positionType` AS `positionType`,`ap`.`landblockRaw` AS `LandblockRaw`,`ap`.`landblock` AS `landblock`,`ap`.`cell` AS `cell`,`ap`.`posX` AS `posX`,`ap`.`posY` AS `posY`,`ap`.`posZ` AS `posZ`,`ap`.`qW` AS `qW`,`ap`.`qX` AS `qX`,`ap`.`qY` AS `qY`,`ap`.`qZ` AS `qZ` from ((((`ace_object` `ao` join `ace_weenie_class` `awc` on((`ao`.`weenieClassId` = `awc`.`weenieClassId`))) join `ace_object_properties_string` `aops` on(((`ao`.`aceObjectId` = `aops`.`aceObjectId`) and (`aops`.`strPropertyId` = 1)))) join `ace_object_properties_int` `aopi` on(((`ao`.`aceObjectId` = `aopi`.`aceObjectId`) and (`aopi`.`intPropertyId` = 1)))) join `ace_position` `ap` on(((`ao`.`aceObjectId` = `ap`.`aceObjectId`) and (`ap`.`positionType` = 1)))) */;
|
|
/*!50001 SET character_set_client = @saved_cs_client */;
|
|
/*!50001 SET character_set_results = @saved_cs_results */;
|
|
/*!50001 SET collation_connection = @saved_col_connection */;
|
|
|
|
--
|
|
-- Final view structure for view `vw_teleport_location`
|
|
--
|
|
|
|
/*!50001 DROP VIEW IF EXISTS `vw_teleport_location`*/;
|
|
/*!50001 SET @saved_cs_client = @@character_set_client */;
|
|
/*!50001 SET @saved_cs_results = @@character_set_results */;
|
|
/*!50001 SET @saved_col_connection = @@collation_connection */;
|
|
/*!50001 SET character_set_client = utf8 */;
|
|
/*!50001 SET character_set_results = utf8 */;
|
|
/*!50001 SET collation_connection = utf8_general_ci */;
|
|
/*!50001 CREATE ALGORITHM=UNDEFINED */
|
|
/*!50013 DEFINER=`root`@`localhost` SQL SECURITY DEFINER */
|
|
/*!50001 VIEW `vw_teleport_location` AS (select `apoi`.`name` AS `name`,`ap`.`landblockRaw` AS `landblock`,`ap`.`posX` AS `posX`,`ap`.`posY` AS `posY`,`ap`.`posZ` AS `posZ`,`ap`.`qW` AS `qW`,`ap`.`qX` AS `qX`,`ap`.`qY` AS `qY`,`ap`.`qZ` AS `qZ` from (`ace_poi` `apoi` join `ace_position` `ap` on((`apoi`.`positionId` = `ap`.`positionId`))) where (`ap`.`positionType` = 28)) */;
|
|
/*!50001 SET character_set_client = @saved_cs_client */;
|
|
/*!50001 SET character_set_results = @saved_cs_results */;
|
|
/*!50001 SET collation_connection = @saved_col_connection */;
|
|
/*!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 */;
|
|
|
|
-- Dump completed on 2017-06-14 2:18:09
|