Skip to content

Commit

Permalink
Initial Generators (#23)
Browse files Browse the repository at this point in the history
* Removed Generator Objects From Export

Removed PCAPed generators as exported spawned objects. They're still in
as weenies to be used later

* Auto Increment Changes

Added AUTO_INCREMENT to aceObjectId and weenieClassId to support adding
back in objects to the world which have to be manually created

* Added database prep script

This makes it so that any objects (re)created for ACE are assigned
weenie or object ids starting at 100000 when compiling the database for
distribution.

* Added Initial Base Generator Weenies and Objects

Added the base generator weenies and objects that seemingly were used by
the all the instance generators. These are simply the core of them and
not specifc or unique to any one instance

* Generators for Training Dungeon (Part1)

When you initially create a character in AC, you enter the world in a
training dungeon. In ACE, currently you enter in the 7F03 instance, so
these generators fill in the first accessible part of that instance.

* Fixing line alignment

* Git Changes

* Tweaked Database Prep Script

Made the seperation between new ACE weenies and new ACE objects
significantly wider to prevent overlap of new objects and weenies

* Inital Core Object Delete Script

Added a script with found duplicated or regenerated objects to delete
from ACE-World following import of PCAP data

* White Rabbit

Sample of new Weenie & new Generator

* The Chicken

Sample of new Weenie & new Generator

* Whitespace Adjustments

* More whitespace issues

* Added Generator Links Table

Table structure and code provided by @Lidefeath
  • Loading branch information
LtRipley36706 authored Jul 1, 2017
1 parent a8307cf commit 17b4860
Show file tree
Hide file tree
Showing 15 changed files with 1,997 additions and 5,900 deletions.
11 changes: 11 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
root = true

[*]
charset = utf-8
indent_size = 4
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
indent_size = 2
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
Database/compiled/*.sql
Database/combined/*.sql
Database/3-Core/combined/*.sql
Database/5-Overwrites/dereth-museum/combined/*.sql
Database/10-Overwrites/dereth-museum/combined/*.sql

#################
## Eclipse
Expand Down
25 changes: 22 additions & 3 deletions Database/1-Base/WorldBase.sql
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ 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,
`aceObjectId` int(10) unsigned NOT NULL AUTO_INCREMENT,
`aceObjectDescriptionFlags` int(10) unsigned NOT NULL,
`weenieClassId` int(10) unsigned NOT NULL,
`weenieHeaderFlags` int(10) unsigned DEFAULT NULL,
Expand Down Expand Up @@ -53,6 +53,25 @@ CREATE TABLE `ace_object_animation_change` (
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table `ace_object_generator_link`
--

DROP TABLE IF EXISTS `ace_object_generator_link`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `ace_object_generator_link` (
`aceObjectId` int(10) unsigned NOT NULL,
`index` tinyint(3) unsigned NOT NULL,
`generatorWeenieClassId` int(10) unsigned NOT NULL,
`generatorWeight` tinyint(3) unsigned NOT NULL,
PRIMARY KEY (`aceObjectId`,`index`),
KEY `idx_generator_link__AceObject` (`generatorWeenieClassId`),
CONSTRAINT `fk_generator_link__AceObject` FOREIGN KEY (`aceObjectId`) REFERENCES `ace_object` (`aceObjectId`) ON DELETE CASCADE,
CONSTRAINT `fk_generator_link__AceWeenieClass` FOREIGN KEY (`generatorWeenieClassId`) REFERENCES `ace_weenie_class` (`weenieClassId`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table `ace_object_palette_change`
--
Expand Down Expand Up @@ -313,7 +332,7 @@ 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,
`weenieClassId` int(10) unsigned NOT NULL AUTO_INCREMENT,
`weenieClassDescription` text NOT NULL,
PRIMARY KEY (`weenieClassId`),
UNIQUE KEY `idx_weenieName` (`weenieClassDescription`(100))
Expand Down Expand Up @@ -450,4 +469,4 @@ SET character_set_client = @saved_cs_client;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2017-06-24 14:32:10
-- Dump completed on 2017-07-01 15:58:41
34 changes: 34 additions & 0 deletions Database/3-Core/000-PrepDatabase.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/* This script prepares ace_weenie_class and ace_object for easily identifiable ACE generated objects */
/* This script is meant to be run after the completion of inserting all weenie data from PCAP exports */

USE `ace_world`;

DELETE FROM ace_weenie_class
WHERE weenieClassDescription = 'ace99999-counterreset';

DELETE FROM ace_weenie_class
WHERE weenieClassId = 99999;

BEGIN WORK;
/* Set Weenie Counter to 100000 */
INSERT INTO ace_weenie_class
(weenieClassId,
weenieClassDescription)
VALUES
(99999, 'ace99999-counterreset');

/* Set Object Counter to 1000000 */
INSERT INTO ace_object
(aceObjectId,
aceObjectDescriptionFlags,
weenieClassId)
VALUES
(999999, 0, 99999);
ROLLBACK;

DELETE FROM ace_weenie_class
WHERE weenieClassId = 99999;

DELETE FROM ace_weenie_class
WHERE weenieClassDescription = 'ace99999-counterreset';

Loading

0 comments on commit 17b4860

Please sign in to comment.