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

DB/Quest: More blizz like behavior for quest "What We Don't Know..." #29839

Open
Jonne733 opened this issue Mar 29, 2024 · 9 comments
Open

DB/Quest: More blizz like behavior for quest "What We Don't Know..." #29839

Jonne733 opened this issue Mar 29, 2024 · 9 comments

Comments

@Jonne733
Copy link
Contributor

Jonne733 commented Mar 29, 2024

Description

When you accept the quest What We Don't Know... (9756) the spell Exarch's Enchantment (31609) is cast on the player. Currently this is done through an "SourceSpell" in "quest_template_addon" which makes it look like the player is casting the spell on him/her self, but on live servers Exarch Admetius (17658) is the one that cast the spell.

Included is allso a fix that gives Exarch Admetius an gossip menu option to recast the spell should it for some reason run out or disappear.

Video of quest being taken.

All info is from live Wrath Classic server.

SQL fix

-- Exarch Admetius should be the one that cast the spell "Exarch's Enchantment" (31609) when quest "What We Don't Know..." is accepted. Allso if the buff runs out he should have an gossip option to give you a new one.
-- Move spell from "quest_template_addon" to script
UPDATE `quest_template_addon` SET `SourceSpellID`=0 WHERE `ID`=9756;

-- Gossip option text
DELETE FROM `gossip_menu_option` WHERE `MenuID`=7449 AND `OptionID`=0;
INSERT INTO `gossip_menu_option` (`MenuID`, `OptionID`, `OptionIcon`, `OptionText`, `OptionBroadcastTextID`, `OptionType`, `OptionNpcFlag`, `ActionMenuID`, `ActionPoiID`, `BoxCoded`, `BoxMoney`, `BoxText`, `BoxBroadcastTextID`, `VerifiedBuild`) VALUES
(7449,0,0,"I need the illusion cast upon me again, Admetius.",14624,1,1,0,0,0,0,"",0,0);

-- Script
DELETE FROM `smart_scripts` WHERE `entryorguid` = 17658 AND `id` IN (2,3); 
DELETE FROM `smart_scripts` WHERE `entryorguid` IN (1765800,1765801) AND `source_type`=9; 
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`,`event_param5`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
(17658,0,2,0,19,0,100,0,9756,0,0,0,0,80,1765800,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Exarch Admetius - On Quest Accept - Run Script"),
(17658,0,3,0,62,0,100,0,7449,0,0,0,0,80,1765801,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Exarch Admetius - On Gossip Select - Run Script"),

(1765800,9,0,0,0,0,100,0,0,0,0,0,0,66,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,"Exarch Admetius - On Script - Set Orientation Invoker"),
(1765800,9,1,0,0,0,100,0,0,0,0,0,0,11,31609,0,0,0,0,0,7,0,0,0,0,0,0,0,0,"Exarch Admetius - On Script - Cast 'Exarch's Enchantment'"),
(1765800,9,2,0,0,0,100,0,1500,1500,0,0,0,66,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Exarch Admetius - On Script - Set Orientation Home Position"),

(1765801,9,0,0,61,0,100,0,0,0,0,0,0,72,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,"Exarch Admetius - On Gossip Select - Close Gossip"),
(1765801,9,1,0,0,0,100,0,0,0,0,0,0,66,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,"Exarch Admetius - On Script - Set Orientation Invoker"),
(1765801,9,2,0,0,0,100,0,0,0,0,0,0,11,31609,0,0,0,0,0,7,0,0,0,0,0,0,0,0,"Exarch Admetius - On Script - Cast 'Exarch's Enchantment'"),
(1765801,9,3,0,0,0,100,0,1500,1500,0,0,0,66,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Exarch Admetius - On Script - Set Orientation Home Position"); 

-- Conditions
UPDATE `conditions` SET `ConditionValue2`=8,`Comment`="Gossip Menu - Show text if Quest 9756 is in progress and" WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=7531 AND `ConditionValue1`=9756;
UPDATE `conditions` SET `ElseGroup`=0 WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=7531 AND `ConditionValue1`=31609;
UPDATE `conditions` SET `ConditionValue2`=8,`Comment`="Gossip Option - Show Option if Quest 9756 is in progress and" WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=7531 AND `ConditionValue1`=9756;

DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=14 AND `SourceGroup`=7531 AND `ConditionValue1`=31609;
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup`=7449;
INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorType`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
(14,7531,9136,0,0,1,0,31609,0,0,0,0,0,"","Gossip Menu - Show text if player have aura 31609"),
(15,7449,0,0,0,47,0,9756,10,0,0,0,0,"","Show gossip menu options if quest 9756 is taken (active) and"),
(15,7449,0,0,0,1,0,31609,0,0,1,0,0,"","Don't show gossip menu options if player have aura 31609");

UPDATE 1

  • Added a few more conditions to prevent quest from completing when the aura is not present on players

Branch

3.3.5

TC rev. hash/commit

75cbafd

@CraftedRO
Copy link
Contributor

CraftedRO commented Mar 29, 2024

Sometimes (try to remove aura with right click) the gossip doesn't works and maybe there's need one more condition to remove the aura when not on quest.

@Jonne733
Copy link
Contributor Author

@CraftedRO
The aura stays on you even after finishing the quest and accepting the fallow up, that is how it works even on Blizz servers.
I'm not exactly sure what you mean when you say the gossip doesn't work, can you give more details please.

@CraftedRO
Copy link
Contributor

I'm not exactly sure what you mean when you say the gossip doesn't work, can you give more details please.

https://youtu.be/ISH1sL_eSE0

@CraftedRO
Copy link
Contributor

seems range related, if you are closer to the npc will work but if you are a bit away it will fail to apply the aura, idk if is smth we can do about this.

@Jonne733
Copy link
Contributor Author

@CraftedRO
Looked in to it more and it does seems to be just as you say, a range issue. Measured it with ".distance" and it seems the max range is 3 yards.
Sadly, to my knowledge at least, there doesn't seems to be anything you can do on a SAI level to fix this.

This flag was the only thing I could find that could maybe fix it, but it seems to not yet be implemented.

Hopefully there is someone else around here that maybe knows more how to fix this. 😕

@CraftedRO
Copy link
Contributor

also not related to this but maybe we can hide prisoneer gossip and dialog when player don't have aura, atm we can talk and get credit even without aura

@Jonne733
Copy link
Contributor Author

Jonne733 commented Mar 30, 2024

@CraftedRO
Good catch, missed that bit when running true quest on live servers. Original script has been updated. 😀

@CraftedRO
Copy link
Contributor

Meh I woud suggest to remove this line: (-- Move spell from "quest_template_addon" to script) so we can merge this, untill someone will implement missing cast_flags or some SMART_ACTION_ADD_AURA alternative idk.

@Aokromes
Copy link
Member

@Jonne733

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants