Jump to content

  •  

Bug Tracker Migration

June 3rd
Good news everyone! The staff has decided that it is time to slowly kill off this Bug Tracker. We will begin the process of slowly migrating from this Bug Tracker over to our Github Issues which can be found here: https://github.com/HerculesWS/Hercules/issues

Over the next couple of days, I will be closing off any opportunity to create new reports. However, I still will keep the opportunity to reply to existing Bug Reports. Doing this will allow us to slowly fix any bug reports we have listed here so that we can easily migrate over to our Issue Tracker.

Update - June 7th 2015: Creating new bug posts has been disabled. Please use our https://github.com/HerculesWS/Hercules/issues tracker to post bugs. Users are still able to reply to existing bug posts.

- Administration

Issue Information

  • #006620

  • 3 - Medium

  • Fixed

Issue Confirmations

  • Yes (1)No (0)
Photo

El Dicastes missing checks

Posted by Hercules Bot on 04 September 2012 - 08:43 AM

Originally posted by DeePee
When talking to Guard Captain Avalanche without having started the Sapha's Visit Quest, the script can basically mess up pretty badly. All this NPC checks for is whether you have the Ring of Wisdom equipped and whether you are at a further stage in the quest. It does not check whether you have started it or anything.

So if someone who visits Manuk without having started the Sapha's Visit Quest and talks to Guard Captain Avalanche, he basically gets this set:

changequest 7183,7184;
set ep13_3_invite,4;

Furthermore, when talking to the Hound#ep13_3_06 or Sapha from Manuk once, ep13_3_invite gets set to 3. However, you need to talk to one of them a second time. If you do NOT do this, quest 7182 does not get updated to 7183 and thus it cannot find 7183 when it needs to update. This results in 7184 not being set when talking to Guard Captain Avalanche and that again results in not being able to get the Light of El Dicastes.

Basically we ended up with a player having ep13_3_invite set to 4 while having these errors:

[02:49:19][Error]: quest_change: Character 1075530 doesn't have quest 7182.
[02:49:28][Error]: quest_change: Character 1075530 doesn't have quest 7182.
[02:50:34][Error]: quest_change: Character 1075530 doesn't have quest 7183.


That means ep13_3_invite must have already been set before he talked to Guard Aello#ep13_3_03 where Quest ID 7182 is set.

That does not seem right to me. It seems that there are more similar occurences around the script. I haven't dug that much deeper in the script but there are definitely some things that are not going right there.

At the very least Guard Captain Avalanche should probably have a check similar to...

if (ep13_3_invite == 3 && checkquest(7183) > 0) {

...before updating the quest and the variable. That should solve the issue with people talking to that NPC before needing to and the issue with people only talking to Hound#ep13_3_06 or Sapha From Manuk once instead of twice or more.

Originally posted by DeePee
Another issue found. Hound#ep13_3_06 and Sapha From Manuk do not check whether ep13_3_invite is NOT set. Therefore, when you have not started the quest, they do a callfunc "eldicastes_c",3; which sets ep13_3_invite to 2 and enables the quest 7185.

Originally posted by Genius
Confirmed!

Originally posted by Joseph
Fixed in [rev=16800].