Midsummer Festival Rework#778
Midsummer Festival Rework#778Zingzah wants to merge 6 commits intoclassicdb:classicfrom Zingzah:Midsummer
Conversation
This a first pass at reworking this event. This PR aims to: - remove incorrect entries - add correct objects, npcs and quests - Fix some spells and buffs
|
Thank you, @Zingzah 👍 |
|
Nps Cala I've been watching all the good work going on there. |
These are updates to Hillsbrad, Blasted Lands, Westfall and Stormwind after additional information was obtained. Further updates to other areas to follow.
|
Just added a few updates that flesh out Stormwind, Blasted Lands, Westfall and Hillsbrad Stations. I found a some extra screenshots and are included. The sites I got the most from were Westfall: Hillsbrad: Blasted Lands: More Updates to follow |
|
Awesome research work. Thank you 👍 |
Added updates to Wetlands, The Barrens and Stonetalon Midsummer stations.
This update finalises the remaining stations that needed minor changes to complete them. Stations include Ashenvale, Azshara, Orgrimmar, Searing Gorge Winterspring and Undercity.
|
Congratulations on this detective work! 👍 Now that I'm back from holidays, I will finish the work on Blackrock Depths (both database and SD2 sides) and after that your pull requests are next on my list along with a rework in the issues (Deadmines). |
This a an update which adds functionality to Midsummer Bonfires enabling debuffs to be cleansed on use. Using a burning blossom within range of a bonfire will buff the player with Fire Festival Fury. A male model has also been added to Goblin Midsummer costume npc. Some DB cleanup to remove warnings from the server log regarding npc health has been added. Entries involving flame quest completion scripts have been corrected.
|
I've included in this latest commit some functionality (i.e. bonfire debuff cleansing and fury buff) which I stated in my original comments wasn't going to be a part of this pull request. I planned on adding this in a separate PR but was able to resolve these issues while working on the event. This latest update should be applied after all the other updates have been executed. |
This is hopefully the final update for this PR which aims to cleanup the database by moving creature_addon entries to creature_template_addon entries for - Midsummer Celebrants - Firebreathers -Fireeaters -Flamekeepers -Loremasters - Talespinners Also removed gameobjects and npcs which were only present in later versions on the festival including alliance, horde and ahune bonfires, midsummer bonfire and bonfire despawner npcs. Finally the alliance stranglethorn midsummer station was removed which was part of a later version of the event.
|
This last update cleans up the DB as best I can estimate by removing gameobjects and npcs which were in later vesions of the event. As well as some other optimisations this should finalise this rework for all but the Ribbon Pole which I haven't quite worked out how to fix yet and make take a little time to do so. |
|
Thank you very much. I've been (and still am) quite busy IRL, but the work on BRD is almost finished. Your work on Midsummer festival will be next. 👍 |
|
Finally starting to review your work. Thank you for your patience. |
|
Hi Cala. Thank you so much for going through this pull request in so much detail. It was quite a bit of stuff to sort through and would have taken quite some time for an especially busy person as yourself. I appreciate that. My main aim for this initial PR was to get the functionality of the event working and to present it in an accurate way as it was at the time of 1.12. So there will be some fine tuning to do to get the intricacies of this event working as it was on retail. I haven't been able to obtain any sniff data ( I can't seem to find sniff data from any sources at all) so many decisions have been educated guesses and try to work out what is happening from the limited data I have from the DB. I wasn't able to find anything at all about GO 181290 which seems to be at the centre of how the flames actually worked. I have a suspicion this GO was scripted to provide specific responses to different uses ie which flame, what faction is using etc. On the surface, all of the Cleansing Flames spells (28859, 29135-39) all did the same thing ie 12-18 damage, dummy effect + trigger remove debuffs. I had a quick look through Spell.dbc to try and spot any differences between them but I couldn't see anything that stood out. So for this initial pass I settled on assigning them the one cleansing spell for functionality and at some time, come back and look at the other ones in more detail later on. I definitely think some sd2 or core support is needed to support awarding of the city flames only to the opposing faction. I tried to do this in DB but couldn't figure out how and only succeeded in awarding the item to anyone who looted which is not the correct behaviour. I really wish I could have found some midsummer videos of the event that showed some more detail. As far as versions of the event there were no alliance or horde bonfires, no desecrations or relighting of the flames and resulting buffs associated with this in classic. Also as far as guid assignments for all the event GO's, these have been arbitrary. A sizeable gap was chosen in the DB and populated. Without sniff data I'm not sure what the proper number for these should be. I would love some more discussion from others about this event as I've taken it about as far as my expertise allows. My knowledge about the inner working of spells and reading the Spell.dbc table is quite limited and needs improving. I hope this has provided some more information and depth to this pull request and am always happy to discuss any matter pertaining to it. |
|
Hi @Zingzah ! You obviously spent a lot of time working on this and the least we can do was to take the time to review it properly. 😄 Thank you for this detailled explanation, again. I'm afraid you won't find much more data from this event or get more accurate feedback. This event did not exist for a long time and was long ago, at a time where few people were sniffing. Here is my proposal:
Does that sounds ok to you? |
|
That sounds great to me Cala. This will provide a good base for this event. Cheers. |
|
Here is the part of your code that was not merged yet: /* Updating Midsummer Bonfire Damage Trap with correct spell */
UPDATE `gameobject_template` SET `data3`= 28859 WHERE `entry`= 181376;
/* Updating gameobject templates of flames to remove spell entry + replace incorrect trap */
UPDATE `gameobject_template` SET `data10`= 0, `data12`= 181376 WHERE `entry` BETWEEN 181332 AND 181349;
UPDATE `gameobject_template` SET `data10`= 0, `data12`= 181376 WHERE `entry` BETWEEN 181560 AND 181567;
/* Adding scripts for capital flames to create flame item upon opening */
INSERT INTO `dbscripts_on_go_template_use` (`id`, `delay`, `command`, `datalong`, `datalong2`, `buddy_entry`, `search_radius`, `data_flags`, `dataint`, `dataint2`, `dataint3`, `dataint4`, `x`, `y`, `z`, `o`, `comments`) VALUES (181332, 0, 17, 23182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Create Item Flame of Stormwind');
INSERT INTO `dbscripts_on_go_template_use` (`id`, `delay`, `command`, `datalong`, `datalong2`, `buddy_entry`, `search_radius`, `data_flags`, `dataint`, `dataint2`, `dataint3`, `dataint4`, `x`, `y`, `z`, `o`, `comments`) VALUES (181333, 0, 17, 23183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Create Item Flame of Ironforge');
INSERT INTO `dbscripts_on_go_template_use` (`id`, `delay`, `command`, `datalong`, `datalong2`, `buddy_entry`, `search_radius`, `data_flags`, `dataint`, `dataint2`, `dataint3`, `dataint4`, `x`, `y`, `z`, `o`, `comments`) VALUES (181334, 0, 17, 23184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Create Item Flame of Darnassus');
INSERT INTO `dbscripts_on_go_template_use` (`id`, `delay`, `command`, `datalong`, `datalong2`, `buddy_entry`, `search_radius`, `data_flags`, `dataint`, `dataint2`, `dataint3`, `dataint4`, `x`, `y`, `z`, `o`, `comments`) VALUES (181336, 0, 17, 23179, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Create Item Flame of Orgrimmar');
INSERT INTO `dbscripts_on_go_template_use` (`id`, `delay`, `command`, `datalong`, `datalong2`, `buddy_entry`, `search_radius`, `data_flags`, `dataint`, `dataint2`, `dataint3`, `dataint4`, `x`, `y`, `z`, `o`, `comments`) VALUES (181337, 0, 17, 23180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Create Item Flame of Thunder Bluff');
INSERT INTO `dbscripts_on_go_template_use` (`id`, `delay`, `command`, `datalong`, `datalong2`, `buddy_entry`, `search_radius`, `data_flags`, `dataint`, `dataint2`, `dataint3`, `dataint4`, `x`, `y`, `z`, `o`, `comments`) VALUES (181335, 0, 17, 23181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'Create Item Flame of Undercity');
-- Adding debuff removal to spell 28859
INSERT INTO `dbscripts_on_spell` (`id`, `delay`, `command`, `datalong`, `datalong2`, `buddy_entry`, `search_radius`, `data_flags`, `dataint`, `dataint2`, `dataint3`, `dataint4`, `x`, `y`, `z`, `o`, `comments`) VALUES (28859, 0, 15, 12844, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 'Cast Remove All Effects');
/* Changing Fire Festival Fury Trap Spell to spell 28803 and adding Fire Festival Fury buff to dbscript_on_spell to be triggered */
UPDATE `gameobject_template` SET `data2`= 20, `data3`= 0, `data4`= 0 WHERE `entry`= 181431;
INSERT INTO `dbscripts_on_spell` (`id`, `delay`, `command`, `datalong`, `datalong2`, `buddy_entry`, `search_radius`, `data_flags`, `dataint`, `dataint2`, `dataint3`, `dataint4`, `x`, `y`, `z`, `o`, `comments`) VALUES (28803, 0, 15, 29338, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 'Cast Fire Festival Fury');Not that much as you can see, but I'd like to see if we can do this otherwise with core support. |
|
Fantastic. I'm happy that any part of my submission was accepted but very excited that so much of this PR s becoming part of an official release. I would appreciate any feedback about how you would like a future release of this size presented to make it easier for you to process. |
|
Ok, let's start with the Fire Festival Fury buff.
You took care of the spell focus with: UPDATE `gameobject_template` SET `type`= 8, `displayId`= 0, `data0`= 1365, `data1`= 10, `data2`= 181431, `data10`= 0 WHERE `entry`= 181288;Spell 29437 basically activates a GO with spellfocus 1365, so we need to add targeting for this
So, I would suggest the following change to make the Fire Fury buff work: -- Added missing spell script target for 29437 for Midsummer Fire Festival Fury buff
DELETE FROM spell_script_target WHERE entry IN (29437);
INSERT INTO spell_script_target (entry, type, targetEntry, inverseEffectMask) VALUES
(29437, 0, 181288, 0);
-- Partly revert change in [1228]
UPDATE `gameobject_template` SET `data2` = 0, `data10` = 28859 WHERE `entry` = 181288;The cleansing effect is not working yet. We'll deal with that later. What do you think? |
|
I have a doubt here. Kindly poke @xfurry for one small question, please: is GO spell cast supported by the core? I mean, if we have GAMEOBJECT_TYPE_GOOBER = 10 with data10=12345 (spell=12345), will spell 12345 be cast on GO use by player or activation by script? |
|
Found out some more info about what's happening here. First of all, the burning blossoms work in two ways to deliver the fury buff. According to this entry: The Fire Festival Fury Trap GO seems superfluous it this stage as the current spell attached (29235) is not cast when a blossom is thrown. I'm not sure of the use of this GO but it might be apparent when more is discovered. Spell 29235 is Fire Festival Fortitude and is not used as part of the burning blossom functionality and should be removed. This spell is cast when city flame quests are completed and should provide a city-wide buffing of players (the range of the spell is 100 yds). Ok, now to the second part of the burning blossom. As stated in the above link, when a second blossom is thrown in quick succession (within 1 second?) every player within a certain range of the initiating player (65 yds according to spellwork) is buffed with the fire festival fury, healed and energised (mana replenished). This i have summised is what spells 29846 (a second aoe fury buff) and 28803 (Spell that triggers 29846) are for. I'm not sure how to implement this functionality as it's a bit beyond my expertise atm. I think the core/sd2 hounds should perhaps have a look to see if this is possible to do. Moving on to the cleansing effect. This isn't related to the burning blossom. It was working in my initial updates but wasn't implemented quite correctly for all the flames. I believe spell 28859 (flame damage) used to trigger the cleansing effect (spell 12844) was the correct implementation for all of the non-city flames. Spell 12844 is the only spell I could find (search has not been extensive though) that would remove all debuffs (Magic, curse, disease, poison) in one go without removing buffs (although the link at the top indicates it could remove some buffs but doesn't specify which ones) . However for the city flames I think the current spells listed in the DB for them are the correct ones. i.e. SW - 29137, IF - 29135, Darn - 29126, Org - 29136, TB - 29138, UC - 29139. I don't see why the Flame of Dire Maul would have IF's spell and should be changed to 28859 like the other dungeon flames. I think this entry is a typo. Back to the city-flames. These spells should also trigger the cleansing effect which should be provided by all midsummer flames but should also trigger the casting of the various flame create spells i.e. SW - 29101, IF - 29102, Darn - 29099, Org - 29130, TB - 29132, UC - 29133. These are cast upon 'touching' a city flame. Alliance city flames have a horde faction (1735) and horde city flames have an alliance faction (1732). So this when implemented correctly should prevent those players from the same faction from looting these flames. I just haven't looked that far into this part yet. I would also love to know if evil has any sniff information on GO 181290 to find out exactly what this object is. Even though he has Wotlk data it might shed some light as I don't have a clue atm and I've come up blank on even a name for it. |
|
Thank you for this information and link. :) Regarding the Festival Fire Fury buff
Regarding the cleansing effect, I agree that spell 12844 does the trick, but I'm not sure this is how it would be done Blizz-like. I assume the removal effect would entirely be done server side to handle checks based on faction and possibly other things like specific buffs to be removed. I'm afraid we need more data here... Finally about the city flames, putting aside the cleansing effect, I will test tonight a DBscript that should make them behave correctly. I'll share it here if it works. |
|
As discussed above, I fixed the fire fury buff along in 41a6b9f The cleansing effect and the multi-target fire fury buff are still not handled. |
|
Nice work Cala. I've checked this fix and it works. I don't think GO casting is a problem in this case as the spells involved (create flames and fury buff) are self-targeting. I've learnt how to implement the terminate script command from your fix which I appreciate. It's something I've been trying to figure out for a little while with no luck. I'm just wondering though where did you get the 4 for alliance and 3 for horde values for the condition check? They don't match the values in the wiki. Also, what's the next step for the cleansing and multi-target fury buff issues? Finally, I'm having a look at the ribbon pole functionality as the last thing to fix in the midsummer event so when I have something I'll raise it in a separate issue/pull request to this one. |
They are the condition entries in the DB. Condition entry 3 has type 6 (Player is in team...) with value1 = 67 which is Horde. That means that if player is Horde, condition 3 will be true. Condition 4 is the same for Alliance (value1=469). Unless I'm mistaken, the remaing work on that PR is related to the spells or scripts. I will then close this PR and open dedicated issues for those. Thanks! |




















This is the first pass in reworking the Midsummer Festival. Currently the midsummer event is non functional on all servers observed so far.
Quests are not available, flames are non-functional and npcs are missing.
Object and npc placements is based on post patch 2.4 changes which does not resemble the event as is occurred in patches 1.11 and 2.1 iterations.
This PR aims to:
This PR doesn't fix the following issues which were discovered during testing:
There was limited information (screenshots) for placement of objects and npcs. All effort was made to provide as much detail as possible with the references at hand.
Additional information will be needed to provide a complete coverage.
The changes have been divided for easier implementation/viewing and consist of the following sections:
References
Wowhead - Screenshots of flames (exception - blasted lands)
http://web.archive.org/web/20070818221911/http://www.wowwiki.com/Mid-summer_Fire_Festival














http://kaellyn.deviantart.com/gallery/
http://theworldofwarcrafters.blogspot.com.au/2011/06/flickering-flames-quests-guides.html
http://www.omnia-hq.com/forums/viewtopic.php?f=5&t=2626&view=next
https://www.flickr.com/photos/afkgamer/sets/72157594174954817