0.10.4 Restart Guard the Guild Quest [RESOLVED]

User avatar
Interkarma
Posts: 7236
Joined: Sun Mar 22, 2015 1:51 am

Re: Restart Guard the Guild Quest

Post by Interkarma »

Thank for the insights Joris. I think in this case improving the "until" task logic is the best option.

I move this to bug reports so I can keep track of it and fix when I can.

User avatar
JorisVanEijden
Posts: 114
Joined: Mon Aug 12, 2019 5:02 pm

Re: 0.10.4 Restart Guard the Guild Quest

Post by JorisVanEijden »

I may have time for this on Thursday or next weekend.

But I have started wondering if this is the right way forward.
I mean, in the end do we want a system that is easy to write consistent quests in, or do we want a system that can correctly take any Template generated quest and work with it?

It is already possible to write the functionality without using until:

Code: Select all

_midnight3_ task:
	daily from 00:00 to 03:00 

_stoletreasure_ task:
	clicked item _treasure_
	clear _returnedtreasure_

_returnedtreasure_ task:
	dropped _treasure_ at _magesguild_ 
	clear _stoletreasure_

_persecute_ task:
	when _stoletreasure_ and not _midnight3_ 
	create foe _F.01_ every 60 minutes 5 times with 10% success 
	log 1011 step 1 
	change repute with _qgiver_ by -30 
Rewriting the handful of affected quests is probably a lot less work than trying to implement multiple "flavours" of 'until'.
And it leads to more legible and understandable quests.

In the back of my mind I'm already pondering a (far) future system/language to write quests in that compile to something the serialized form of the quests in the savegames. Maybe even add a visual node-graph that generates readable quest source-files that compile to DFU's internal Quest format?

User avatar
Interkarma
Posts: 7236
Joined: Sun Mar 22, 2015 1:51 am

Re: 0.10.4 Restart Guard the Guild Quest

Post by Interkarma »

Here's how I see TEMPLATE (the tool) - it was used once to export the baseline quest scripts and will never be used again. It's a legacy element in the toolchain.

Here's how I see TEMPLATE (the scripting language) - happy for this to continue to diverge from classic and evolve into something better slowly over time. The key word there is slowly. I don't want to break all of Jay's quests, TheLacus' VSCode template, or make things harder for people to script quests. The DFU variant of TEMPLATE has already been expanded far beyond what classic was capable of. Easy and consistent should be definitely a goal, even though it has roots in legacy TEMPLATE. Let's just call it Template 2.0 at this stage. :)

So if it's just a handful affected quests, then I'm in total agreement the best way forwards is just to fix the quests themselves.
JorisVanEijden wrote: Wed Sep 04, 2019 7:45 am In the back of my mind I'm already pondering a (far) future system/language to write quests in that compile to something the serialized form of the quests in the savegames. Maybe even add a visual node-graph that generates readable quest source-files that compile to DFU's internal Quest format?
That's a fascinating idea! I think node-based visual scripting is a good match for the way TEMPLATE groups operations. It fits well in the Unity environment and feels in line with many other visual scripting tools. I can definitely see that working exceptionally well.

User avatar
JorisVanEijden
Posts: 114
Joined: Mon Aug 12, 2019 5:02 pm

Re: 0.10.4 Restart Guard the Guild Quest

Post by JorisVanEijden »

interkarma wrote:So if it's just a handful affected quests, then I'm in total agreement the best way forwards is just to fix the quests themselves.
Turned out it was only present in 3 quests and only really affected 2 of them.
I created PR #1488 to fix those.

During testing I did encounter a few small bugs in the quest item dropping detection. I created PR #1487 for them.

Locked