mirror of
https://github.com/mangosfour/server.git
synced 2025-12-13 04:37:00 +00:00
[10089] Change in event system work with pool system.
* `game_event_pool` dropped and related in momory data generated
based by another pool tables content.
* Pool work with spawed at event and despawned at event object now different.
- If object listed in `game_event_*` as spawned at event start and it's part of some pool
then all other pool object must be listed as spawned with this event start, and more,
if pool has mother pool, then all mother pool members must have objects spawned at this
event start. More short: all object of some top (not have mother pool) mitbe or listed for some event start spawn,
or not listed for any event start spawn.
- If object listed in `game_event_*` as DEspawned at event start and it's part of some pool
then nothing special required for other pool objects. Event systemwil command to pool system exclude for spawning and despawn referenced
object until event end.
* Many checks has been added at event/pool data loading.
* Changes fix crashes related to event/pool common work.
Thanks to NoFantasy for help in research original problems and ways for improve code.
This commit is contained in:
parent
407156cbaf
commit
8e6410d639
10 changed files with 290 additions and 109 deletions
|
|
@ -24,7 +24,7 @@ CREATE TABLE `db_version` (
|
|||
`version` varchar(120) default NULL,
|
||||
`creature_ai_version` varchar(120) default NULL,
|
||||
`cache_id` int(10) default '0',
|
||||
`required_10086_01_mangos_command` bit(1) default NULL
|
||||
`required_10089_01_mangos_game_event_pool` bit(1) default NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
|
||||
|
||||
--
|
||||
|
|
@ -1572,7 +1572,7 @@ UNLOCK TABLES;
|
|||
DROP TABLE IF EXISTS `game_event_creature`;
|
||||
CREATE TABLE `game_event_creature` (
|
||||
`guid` int(10) unsigned NOT NULL,
|
||||
`event` smallint(6) NOT NULL default '0' COMMENT 'Put negatives values to remove during event',
|
||||
`event` smallint(6) NOT NULL default '0' COMMENT 'Negatives value to remove during event and ignore pool grouping, positive value for spawn during event and if guid is part of pool then al pool memebers must be listed as part of event spawn.',
|
||||
PRIMARY KEY (`guid`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
|
|
@ -1613,7 +1613,7 @@ UNLOCK TABLES;
|
|||
DROP TABLE IF EXISTS `game_event_gameobject`;
|
||||
CREATE TABLE `game_event_gameobject` (
|
||||
`guid` int(10) unsigned NOT NULL,
|
||||
`event` smallint(6) NOT NULL default '0' COMMENT 'Put negatives values to remove during event',
|
||||
`event` smallint(6) NOT NULL default '0' COMMENT 'Negatives value to remove during event and ignore pool grouping, positive value for spawn during event and if guid is part of pool then al pool memebers must be listed as part of event spawn.',
|
||||
PRIMARY KEY (`guid`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
|
|
@ -1648,26 +1648,6 @@ LOCK TABLES `game_event_model_equip` WRITE;
|
|||
/*!40000 ALTER TABLE `game_event_model_equip` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `game_event_pool`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `game_event_pool`;
|
||||
CREATE TABLE `game_event_pool` (
|
||||
`pool_entry` mediumint(8) unsigned NOT NULL default '0' COMMENT 'Id of the pool',
|
||||
`event` smallint(6) NOT NULL default '0' COMMENT 'Put negatives values to remove during event',
|
||||
PRIMARY KEY (`pool_entry`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
--
|
||||
-- Dumping data for table `game_event_pool`
|
||||
--
|
||||
|
||||
LOCK TABLES `game_event_pool` WRITE;
|
||||
/*!40000 ALTER TABLE `game_event_pool` DISABLE KEYS */;
|
||||
/*!40000 ALTER TABLE `game_event_pool` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
--
|
||||
-- Table structure for table `game_graveyard_zone`
|
||||
--
|
||||
|
|
|
|||
3
sql/updates/10089_01_mangos_game_event_pool.sql
Normal file
3
sql/updates/10089_01_mangos_game_event_pool.sql
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
ALTER TABLE db_version CHANGE COLUMN required_10086_01_mangos_command required_10089_01_mangos_game_event_pool bit;
|
||||
|
||||
DROP TABLE IF EXISTS `game_event_pool`;
|
||||
|
|
@ -90,6 +90,7 @@ pkgdata_DATA = \
|
|||
10051_01_characters_character_aura.sql \
|
||||
10056_01_mangos_spell_proc_event.sql \
|
||||
10086_01_mangos_command.sql \
|
||||
10089_01_mangos_game_event_pool.sql \
|
||||
README
|
||||
|
||||
## Additional files to include when running 'make dist'
|
||||
|
|
@ -160,4 +161,5 @@ EXTRA_DIST = \
|
|||
10051_01_characters_character_aura.sql \
|
||||
10056_01_mangos_spell_proc_event.sql \
|
||||
10086_01_mangos_command.sql \
|
||||
10089_01_mangos_game_event_pool.sql \
|
||||
README
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue