Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(Core/Events) Implement Fireworks Spectacular #18860

Merged
merged 53 commits into from
May 12, 2024

Conversation

sudlud
Copy link
Member

@sudlud sudlud commented May 5, 2024

Changes Proposed:

This PR proposes changes to:

  • Core (units, players, creatures, game systems).
  • Scripts (bosses, spell scripts, creature scripts).
  • Database (SAI, creatures, etc).

Issues Addressed:

SOURCE:

The changes have been validated through:

  • Live research (checked on live servers, e.g Classic WotLK, Retail, etc.)
  • Sniffs (remember to share them with the open source community!)
  • Video evidence, knowledge databases or other public sources (e.g forums, Wowhead, etc.)
  • The changes promoted by this pull request come partially or entirely from another project (cherry-pick). Cherry-picks must be committed using the proper --author tag in order to be accepted, thus crediting the original authors, unless otherwise unable to be found

Thanks @heyitsbench for sniffing all firework shows!

Tests Performed:

This PR has been:

  • Tested in-game by the author.
  • Tested in-game by other community members/someone else other than the author/has been live on production servers.
  • This pull request requires further testing and may have edge cases to be tested.

How to Test the Changes:

  • This pull request can be tested by following the reproduction steps provided in the linked issue
  • This pull request requires further testing. Provide steps to test your changes. If it requires any specific setup e.g multiple players please specify it as well.

event runs for 18 hours
.event start 72

firework shows start at the full hour and last for about 11-12 minutes
at the locations there are kegs, tables, mugs and revelers
revelers emote regularly
revelers cheer at show end
toasting goblets spawn at show end for 10 minutes

Booty Bay Bruisers are replaced by sleeping Drunken Bruisers

visit firework vendors
Fizzlebang Booms
.go c 12523
Ziggle Sparks
.go c 12524
Wizbang Booms
.go c 12525
Lillian Singh
.go c 12526
Jaxxil Sparks
.go c 12527
Kizzak Sparks
.go c 12528

visit firework locations
Stormwind
.go c 420011
Thunder Bluff
.go c 420024
Booty Bay
.go c 420041
Teldrassil
.go c 420122
Ironforge
.go c 420141
Undercity
.go c 420165
Orgrimmar
.go c 420184
Shattrath (Scryer)
.go c 420203
Shattrath (Aldor)
.go c 420213
Exodar
.go c 420221
Silvermoon
.go c 420240

enjoy

Known Issues and TODO List:

  • reveler gossip texts missing, they're showing Lunar (?) gossips right now, as they're also present during that event
  • reveler orientations need to be updated (manually) - sniffs CO seem to have shown orientations right in the middle of some RP most of the time, could be grepped from sniff reset-orientation-home-messages maybe
  • reveler RP might not be final - they seem to orient themselfes to the firework and back sometimes, also the emotes during could be added to the show script (maybe) to get it right
  • Thunder Bluff Reveler spawns might need a check - they seem to be a bit much, they probably should have much less spawns and waypoint movement

How to Test AzerothCore PRs

When a PR is ready to be tested, it will be marked as [WAITING TO BE TESTED].

You can help by testing PRs and writing your feedback here on the PR's page on GitHub. Follow the instructions here:

http://www.azerothcore.org/wiki/How-to-test-a-PR

REMEMBER: when testing a PR that changes something generic (i.e. a part of code that handles more than one specific thing), the tester should not only check that the PR does its job (e.g. fixing spell XXX) but especially check that the PR does not cause any regression (i.e. introducing new bugs).

For example: if a PR fixes spell X by changing a part of code that handles spells X, Y, and Z, we should not only test X, but we should test Y and Z as well.

sudlud added 30 commits May 5, 2024 08:08
- todo: pooling (?) - the tables are quite full
- todo: why are there tables missing? e.g. below:
.go ga 82615
TODO: also add 15906 'Ironforge Reveler'
- these will be spawned temporarily via script
steps to test the show:
.go xyz -8984 498 96 0
.gob add temp 180749
…ker' spawns

how to test:
.go ga 64640
.event start 72
.go ga 64651
.event start 72
…lace magic numbers for fireworkShow sizes

- these were broken due to an error in my txt parsing script
.go c 139914
.event start 72
.go ga 64670
.event start 72
.go ga 64630
.event start 72
.go ga 64641
.event start 72
.go ga 64647
.event start 72
.go ga 64634
.event start 72
@github-actions github-actions bot added DB related to the SQL database CORE Related to the core Script file-cpp Used to trigger the matrix build labels May 5, 2024
@Kitzunu
Copy link
Member

Kitzunu commented May 6, 2024

damn

- 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
@elthehablo
Copy link
Contributor

Awesome work @sudlud . I'll give this a test and a review promptly

@elthehablo
Copy link
Contributor

Works well, nice work

@elthehablo elthehablo merged commit 0f82c8e into azerothcore:master May 12, 2024
17 checks passed
@sudlud sudlud deleted the add-fireworks-spectacular-1 branch May 12, 2024 16:40
ikkj pushed a commit to ikkj/AzerothCore-wotlk-with-NPCBots that referenced this pull request Jun 10, 2024
* 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
ikkj pushed a commit to ikkj/AzerothCore-wotlk-with-NPCBots that referenced this pull request Jun 13, 2024
* 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
ikkj pushed a commit to ikkj/AzerothCore-wotlk-with-NPCBots that referenced this pull request Jun 13, 2024
* 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CORE Related to the core DB related to the SQL database file-cpp Used to trigger the matrix build Ready to be Reviewed Script World Event
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Engineer's Explosive Extravaganza (Midsummer Fireworks Spectacular) event is unimplemented.
3 participants