EverWrath/src/server/scripts/Events/events_script_loader.cpp
sudlud 0f82c8e8dd
fix(Core/Events) Implement Fireworks Spectacular (#18860)
* init sql file for fireworks spectacular - add entry in game_event

* add missing delete statement

* add gameobjects 180698 'Party Table, 180699 'Festive Keg, 180700 'Hay Bale 1'

* update comment, add gameobject 180754 Toasting Goblet

- todo: pooling (?) - the tables are quite full
- todo: why are there tables missing? e.g. below:
.go ga 82615

* add gameobject 180905 'Festive Mug'

* add gameobjects 'Firework, Show, Type%'

* add vendors

* add revelers and bruisers

TODO: also add 15906 'Ironforge Reveler'

* remove '%Firework Show%' spawns

- these will be spawned temporarily via script

* add firework gameobject SmartAI

* WIP stormwind fireworks show

steps to test the show:
.go xyz -8984 498 96 0
.gob add temp 180749

* improve handling of fireworks show, add gameobject 180749 'Cheer Speaker' spawns

how to test:
.go ga 64640
.event start 72

* prepare fetching correct show based on map+zone

* introduce typedef for FireworkShow

* Add Teldrassil show

.go ga 64651
.event start 72

* fix Teldrassil and Stormwind shows, add initShow() debug message, replace magic numbers for fireworkShow sizes

- these were broken due to an error in my txt parsing script

* add Shattrath show

.go c 139914
.event start 72

* add Silvermoon show

.go ga 64670
.event start 72

* add Booty Bay show

.go ga 64630
.event start 72

* add Thunder Bluff show, add Exodar show, set firework gameobjects active, update comments, remove _maxCount

* add Underciy show

.go ga 64641
.event start 72

* fix Undercity show indexes

* move code from midsummer.cpp to new file firework_show.cpp

* add Orgrimmar show

.go ga 64647
.event start 72

* add Ironforge show

.go ga 64634
.event start 72

* update shows from sniff parses using fixed export script

* update 'Party Table, 'Festive Keg' and 'Hay Bale 1' spawns with additional sniffs

* update 'Toasting Goblet' spawns with additional sniffs

* update 'Festive Mug' spawns with additional sniffs

* update 'Fireworks Revelers' spawns with additional sniffs

* remove duplicate AND from sql file

* attempt moving FireworkShows to the heap

* start firework show at the full hour and also handle late starts correctly

- also perform a minor cleanup

* do not touch gameobject with guid 16586 which is linked to harvest festival

* move firework_show.cpp to subfolder firework_show

* move firework_show arrays to seperate header files

* update show handling, still not final

* update for new struct design, Teldrassil show running correctly already

* update remaining shows for new firework show structs

* rename go_cheer_speaker to go_firework_show

* update debug / error messages

* update all firework shows for local spawnIndex handling

* spawn 'Toasting Goblet's for 10min after show ende

* add reveler SAI and make revelers cheer on show end

* remove log_error messages

* add comment for festive mugs

* Update firework_show.cpp

* add missing include for uint32

* replace an uint32 with an int

* revert unintended changes in midsummer.cpp

* add #include "GameObjectScript.h"

* remove ThunderBluff Reveler spawns with wandering movement

- these probably should have waypoints instead or just got parsed incorrectly
- it should be safe to remove these for now and probably investigage this further later on

* update function names
2024-05-12 18:39:14 +02:00

40 lines
1.5 KiB
C++

/*
* This file is part of the AzerothCore Project. See AUTHORS file for Copyright information
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Affero General Public License as published by the
* Free Software Foundation; either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <http://www.gnu.org/licenses/>.
*/
// This is where scripts' loading functions should be declared:
void AddSC_event_brewfest_scripts();
void AddSC_event_hallows_end_scripts();
void AddSC_event_pilgrims_end_scripts();
void AddSC_event_winter_veil_scripts();
void AddSC_event_love_in_the_air();
void AddSC_event_midsummer_scripts();
void AddSC_event_childrens_week();
void AddSC_event_firework_show_scripts();
// The name of this function should match:
// void Add${NameOfDirectory}Scripts()
void AddEventsScripts()
{
AddSC_event_brewfest_scripts();
AddSC_event_hallows_end_scripts();
AddSC_event_pilgrims_end_scripts();
AddSC_event_winter_veil_scripts();
AddSC_event_love_in_the_air();
AddSC_event_midsummer_scripts();
AddSC_event_childrens_week();
AddSC_event_firework_show_scripts();
}