mirror of
https://github.com/Sarjuuk/aowow.git
synced 2025-11-29 15:58:16 +08:00
* rewritten to be able to dynamicly load it's components
- CLISetup -> checks for UtilityScripts (config, setup, dbc reader, etc.) -> checks for SetupScripts (individual sql/file generators)
- each step may now have a help prompt attached. If none are provided, the containing script may provide it's help.
- all Scripts are self contained modules. No more editing of 3+ files if some component is added/removed
* removed intermediaries FileGen & SqlGen
* functional changes
- allow providing CLI arguments to siteconfig and account UtilityScript and skip the interactive prompts
- set slot for consumable enchantment items so they are filtrable
- zones dataset is now localized and generated from GlobalStrings.lua and DungeonMap.dbc. Related data dumps removed.
- 'aowow' and 'prQueue' executables now have shebangs
WARNING - command line options have been renamed!
49 lines
1.4 KiB
PHP
49 lines
1.4 KiB
PHP
<?php
|
|
|
|
if (!defined('AOWOW_REVISION'))
|
|
die('illegal access');
|
|
|
|
if (!CLI)
|
|
die('not in cli mode');
|
|
|
|
|
|
CLISetup::registerSetup("sql", new class extends SetupScript
|
|
{
|
|
protected $info = array(
|
|
'events' => [[], CLISetup::ARGV_PARAM, 'Compiles data for type: Event from world db.']
|
|
);
|
|
|
|
protected $worldDependency = ['game_event', 'game_event_prerequisite'];
|
|
|
|
public function generate(array $ids = []) : bool
|
|
{
|
|
DB::Aowow()->query('TRUNCATE ?_events');
|
|
|
|
$events = DB::World()->select(
|
|
'SELECT ge.eventEntry,
|
|
holiday,
|
|
0, -- cuFlags
|
|
IFNULL(UNIX_TIMESTAMP(start_time), 0),
|
|
IFNULL(UNIX_TIMESTAMP(end_time), 0),
|
|
occurence * 60,
|
|
length * 60,
|
|
IF (gep.eventEntry IS NOT NULL, GROUP_CONCAT(prerequisite_event SEPARATOR " "), NULL),
|
|
description
|
|
FROM game_event ge
|
|
LEFT JOIN game_event_prerequisite gep ON gep.eventEntry = ge.eventEntry
|
|
{ WHERE ge.eventEntry IN (?a) }
|
|
GROUP BY ge.eventEntry',
|
|
$ids ?: DBSIMPLE_SKIP
|
|
);
|
|
|
|
foreach ($events as $e)
|
|
DB::Aowow()->query('INSERT INTO ?_events VALUES (?a)', array_values($e));
|
|
|
|
$this->reapplyCCFlags('events', Type::WORLDEVENT);
|
|
|
|
return true;
|
|
}
|
|
});
|
|
|
|
?>
|