ace/Database/Base/WorldBase.sql
Mogwai-TheFurry c3184a08fa Object overhaul (#384)
* 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)
2017-06-16 09:54:39 -04:00

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