Trinitycore: [master] DB/Quest: Healing the Lake

Created on 8 Dec 2015  Â·  19Comments  Â·  Source: TrinityCore/TrinityCore

Quest: http://www.wowhead.com/quest=9294/healing-the-lake

When using the Neutralizing Agent near the Irradiated Power Crystal it isn't recognized, producing the error:
"Requires Irradiated Crystal in Silverline Lake"

It is also possible to just right click the Irradiated Power Crystal, but that doesn't complete the objective, but produces the text:
"As the neutralizing agent mixes into the waters of the lake, the water that was irradiated by the crystal seems to clear."

healingthelake

rev. 5bf9d2bed434

Branch-master Comp-Core Sub-Quests

All 19 comments

rev has been added.

If you look up your issue title "Healing the Lake" in the search function, you will find several other issues relating to using the Neutralizing Agent near the Irradiated Power Crystal:
https://github.com/TrinityCore/TrinityCore/search?utf8=✓&q=Healing+the+Lake

dr-j fixed a related issue and more with the SAI script in commit 9cdc9f8 (DB/QUEST: Healing the lake, 25 Jul 2014), but there was a lot more added in that script. You may want to test the bits related to gameobject 181433. These parts are from that commit by @dr-j :

UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI', `ScriptName`='' WHERE`entry`IN(181433);

DELETE FROM `smart_scripts` WHERE `entryorguid` IN (181433);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(181433, 1, 0 ,0,70, 0, 100, 0, 2, 0, 0,0,1,0,0,0,0,0,0,19,20239,0,0,0, 0, 0, 0, 'Irradiated Power Crystal - On State Changed - Say Line 1 (Neutralizing Emote Placeholder)');

DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=31515;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES 
(13, 1, 31515, 0, 0, 31, 0, 3, 17947, 0, 0, 0, 0, '', 'Spell Red Beam targets Red Crystal Bunny');

This bug is still valid?

TrinityCore rev. afa0bac669ac 2016-06-15 19:58:21 +0200 (6.x branch) (Win64, Release, Static)
TDB 6.04 plus updates up to and including 2016_06_15_08_world.sql .

The issue has changed slightly, but the quest does not complete. See my screenshot below:

wowscrnshot_061616_040629
This is what happens when I just try to right-click the big pink crystal in the lake. I only see the emote line in chat log, but nothing else happens. If I try to click the provided quest item Neutralizing Agent, this error message appears in-game in red warning text: Requires Irradiated Crystal in Silverline Lake

We need to find out why this is happening, if it is caused by condition with distance or wrong value(s) somwehere, either in script, conditions or in gameobject. This quest works as expected in 3.3.5...


edit: Manually casting spell 28700 gives the same result as right-clicking the quest item itself. And during my test of this quest issue, I squeezed my character so close to the GO that my character was pushed slightly under water (decreasing breath bar appeared), but the spell still said that the GO is not here.

SELECT * FROM `gameobject_template` WHERE `name` LIKE '%Irradiated%';
 entry    type  displayId  name                      IconName  castBarCaption  unk1    faction   flags    size   Data0   Data1   Data2   Data3   Data4   Data5   Data6   Data7   Data8   Data9  Data10  Data11  Data12  Data13  Data14  Data15  Data16  Data17  Data18  Data19  Data20  Data21  Data22  Data23  Data24  Data25  Data26  Data27  Data28  Data29  Data30  Data31  Data32  unkInt32  AIName             ScriptName  VerifiedBuild
------  ------  ---------  ------------------------  --------  --------------  ------  -------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  ------  --------  -----------------  ----------  -------------
181433      10       6772  Irradiated Power Crystal                                          0      36    3.74    1640    9294   10292    3000       0       0       0       0       0       0       0       0       0       1       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0       0         0  SmartGameObjectAI                      18019
SELECT * FROM `gameobject` WHERE `id` = 181433;
  guid      id     map  zoneId  areaId  spawnMask  PhaseId  PhaseGroup  position_x  position_y  position_z  orientation  rotation0  rotation1  rotation2  rotation3  spawntimesecs  animprogress   state  VerifiedBuild
------  ------  ------  ------  ------  ---------  -------  ----------  ----------  ----------  ----------  -----------  ---------  ---------  ---------  ---------  -------------  ------------  ------  -------------
 21760  181433     530       0       0          1        0           0    -4395.25    -13643.5       33.24     0.766564          0          0          0          1            121           100       1              0

I even tried using the command .go object 21760, but then I found my character squeezed between that same pink crystal and the bottom of the lake. I had to teleport out. Still the same errors.

Found this in a sniff, quest works but missing emote

UPDATE `gameobject_template` SET `type` = 8, `Data0` = 1856, `Data1` = 30, `Data2` = 0, `Data3` = 0, `Data4` = 9294, `Data13` = 0 WHERE (entry = 181433);

Possibly because the emote is connected with the item spell. Need to do a bit more research.

I found the smart script that shows the emote: https://gnaxi.net/wow/keira2/#/sai/1/181433
maybe need to make some adjustments

Very good point, well researched. :+1: If you turn on GM mode (.gm on), you will see trigger NPCs appearing around the crystal in the lake. At first, I thought they were being used for "kill credit", but as you pointed out, it looks like they are used for the say text (emote). I agree, the SAI needs adjustments.

UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI', `ScriptName`='' WHERE`entry`IN(181433);

DELETE FROM `smart_scripts` WHERE `entryorguid` IN (181433);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(181433, 1, 0 ,0,70, 0, 100, 0, 2, 0, 0,0,1,0,0,0,0,0,0,19,20239,0,0,0, 0, 0, 0, 'Irradiated Power Crystal - On State Changed - Say Line 1 (Neutralizing Emote Placeholder)');

DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=31515;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES 
(13, 1, 31515, 0, 0, 31, 0, 3, 17947, 0, 0, 0, 0, '', 'Spell Red Beam targets Red Crystal Bunny');

tkrokli's correction here works. I tried it on: TrinityCore rev. 12beb3dd1b51 2018-03-07 18:08:15 +0100 (master branch) (Win64, RelWithDebInfo, Static)
could someone implement a patch repair please ?

healing the lake

I am waiting for feedback from one of the TC members confirming that it is needed before we push it as a new commit.

Could someone in the TC member list check if the SQL in https://github.com/TrinityCore/TrinityCore/issues/15961#issuecomment-372098594 is usable as a fix for this issue?

@illfated : this is a complete set for the proper functioning of the quest

UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI', `ScriptName`='' WHERE`entry`IN(181433);

DELETE FROM `smart_scripts` WHERE `entryorguid` IN (181433);
INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
(181433, 1, 0 ,0,70, 0, 100, 0, 2, 0, 0,0,1,0,0,0,0,0,0,19,20239,0,0,0, 0, 0, 0, 'Irradiated Power Crystal - On State Changed - Say Line 1 (Neutralizing Emote Placeholder)');

DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=31515;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES 
(13, 1, 31515, 0, 0, 31, 0, 3, 17947, 0, 0, 0, 0, '', 'Spell Red Beam targets Red Crystal Bunny');

UPDATE `gameobject_template` SET `type` = 8, `Data0` = 1856, `Data1` = 30, `Data2` = 0, `Data3` = 0, `Data4` = 9294, `Data13` = 0 WHERE (entry = 181433);

work @ghost + @CrisPj is correct !

I tested in :

TrinityCore rev. 6bb1a34ae6db 2018-05-13 23:46:25 +0200 (master branch) (Win64, RelWithDebInfo, Static)
Using SSL version: OpenSSL 1.0.2o 27 Mar 2018 (library: OpenSSL 1.0.2o 27 Mar 2018)
Using Boost version: 1.67.0
Using MySQL version: 5.7.21
Using CMake version: 3.11.1
Compiled on: Windows 10.0.16299
Automatic database updates are enabled for the following databases: Auth, Characters, World, Hotfixes
Worldserver listening connections on port 8085
Realmlist (Realm Id: 1) configured in port 8085
VMAPs status: Enabled. LineOfSight: 1, getHeight: 1, indoorCheck: 1
MMAPs status: Disabled
maps directory located in ./maps. Total size: 900650049 bytes
vmaps directory located in ./vmaps. Total size: 5127494765 bytes
Using enUS DBC Locale as default. All available DBC locales: enUS
Using World DB: TDB 735.00

without worry, could be implemented into fixes

healing the lake 1
healing the lake 2

UPDATE `gameobject_template` SET `type` = 8, `Data0` = 1856, `Data1` = 30, `Data2` = 0, `Data3` = 0, `Data4` = 9294, `Data13` = 0 WHERE (entry = 181433);
changing this without sniff is hack.

@Aokromes :

would you be able to offer a functional alternative or do you modify it so it's okay ?

Because this issue is for the master branch, someone should sniff the quest gameobject and post the sniff in https://community.trinitycore.org/forum/13-wdbadbsniffs/ (you have to be signed in as a Forum user to see the page).

Gameobject template 181434 is missing.

Probably it's the spell focus (serverside) for the item spell.

I confess I'm totally tangled up and I do not know how out of it. So does anyone know how to modify it so it's not a hack and it could work right ?

@CrisPj : Do you still have access to the sniff you based the SQL in your comment https://github.com/TrinityCore/TrinityCore/issues/15961#issuecomment-232189724 on ?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Lopfest picture Lopfest  Â·  3Comments

daddycaddy picture daddycaddy  Â·  3Comments

besplash picture besplash  Â·  3Comments

Rushor picture Rushor  Â·  3Comments

funjoker picture funjoker  Â·  3Comments